You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2017/06/30 22:42:20 UTC

[50/52] [partial] incubator-trafficcontrol git commit: promotes TO experimental UI to the new Traffic Portal

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/.bowerrc
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/.bowerrc b/traffic_ops/experimental/ui/.bowerrc
deleted file mode 100644
index ba0accc..0000000
--- a/traffic_ops/experimental/ui/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "directory": "app/bower_components"
-}

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/.gitattributes
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/.gitattributes b/traffic_ops/experimental/ui/.gitattributes
deleted file mode 100644
index 2125666..0000000
--- a/traffic_ops/experimental/ui/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-* text=auto
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/.gitignore
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/.gitignore b/traffic_ops/experimental/ui/.gitignore
deleted file mode 100644
index 5161722..0000000
--- a/traffic_ops/experimental/ui/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.tmp
-.sass-cache
-server/log/access.log
-node_modules
-app/bower_components
-app/dist

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/.jshintrc
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/.jshintrc b/traffic_ops/experimental/ui/.jshintrc
deleted file mode 100644
index 6b2ddc7..0000000
--- a/traffic_ops/experimental/ui/.jshintrc
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-    "browser": true,
-    "esnext": true,
-    "bitwise": true,
-    "camelcase": true,
-    "curly": true,
-    "eqeqeq": true,
-    "immed": true,
-    "indent": 2,
-    "latedef": true,
-    "newcap": true,
-    "noarg": true,
-    "quotmark": "single",
-    "regexp": true,
-    "undef": true,
-    "unused": true,
-    "strict": true,
-    "trailing": true,
-    "smarttabs": true,
-    "globals": {
-        "angular": false
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/Dockerfile
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/Dockerfile b/traffic_ops/experimental/ui/Dockerfile
deleted file mode 100644
index 7c1ebd1..0000000
--- a/traffic_ops/experimental/ui/Dockerfile
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-#  Licensed 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.
-#
-FROM node:4-onbuild
-#FROM buildpack-deps:jessie
-
-RUN apt-get update -y && apt-get install libffi-dev ruby-dev rubygems vim -y
-
-# replace this with your application's default port
-RUN gem update --system && gem install --no-rdoc --no-ri compass && gem install --no-rdoc --no-ri sass -v 3.4.22
-RUN npm install -g bower grunt-cli
-RUN echo '{ "allow_root": true }' > /root/.bowerrc
-RUN cd /usr/src/app && /usr/local/bin/bower install
-RUN cd /usr/src/app && /usr/local/bin/grunt dist

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/Gruntfile.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/Gruntfile.js b/traffic_ops/experimental/ui/Gruntfile.js
deleted file mode 100644
index a058e32..0000000
--- a/traffic_ops/experimental/ui/Gruntfile.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * 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.
- */
-
-'use strict';
-
-module.exports = function (grunt) {
-
-    // load time grunt - helps with optimizing build times
-    require('time-grunt')(grunt);
-
-    // load grunt task configurations
-    require('load-grunt-config')(grunt);
-
-    // default task - when you type 'grunt' it really runs as 'grunt dev'
-    grunt.registerTask('default', ['dev']);
-
-    // dev task - when you type 'grunt dev' <-- builds unminified app and puts it in in app/dist folder and starts express server which reads server.js
-    grunt.registerTask('dev', [
-        'build-dev',
-        'express:dev',
-        'watch'
-    ]);
-
-    // dist task - when you type 'grunt dist' <-- builds minified app for distribution all wrapped up nicely in app/dist folder
-    grunt.registerTask('dist', [
-        'build'
-    ]);
-
-    // build tasks
-    grunt.registerTask('build', [
-        'clean',
-        'copy:dist',
-        'build-css',
-        'build-js',
-        'build-shared-libs'
-    ]);
-
-    grunt.registerTask('build-dev', [
-        'clean',
-        'copy:dev',
-        'build-css-dev',
-        'build-js-dev',
-        'build-shared-libs-dev'
-    ]);
-
-    // css
-    grunt.registerTask('build-css', [
-        'compass:prod'
-    ]);
-
-    grunt.registerTask('build-css-dev', [
-        'compass:dev'
-    ]);
-
-    // js (custom)
-    grunt.registerTask('build-js', [
-        'html2js',
-        'browserify2:app-prod',
-        'browserify2:app-config'
-    ]);
-
-    grunt.registerTask('build-js-dev', [
-        'html2js',
-        'browserify2:app-dev',
-        'browserify2:app-config'
-    ]);
-
-    // js (libraries)
-    grunt.registerTask('build-shared-libs', [
-        'browserify2:shared-libs-prod'
-    ]);
-
-    grunt.registerTask('build-shared-libs-dev', [
-        'browserify2:shared-libs-dev'
-    ]);
-
-};

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/README.md
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/README.md b/traffic_ops/experimental/ui/README.md
deleted file mode 100644
index c394c43..0000000
--- a/traffic_ops/experimental/ui/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Traffic Ops UI 2.0
-
-An AngularJS client served from a lightweight Node.js web server. Traffic Ops UI 2.0 was designed to consume the Traffic Ops 2.0 RESTful API.
-
-## Software Prerequisites
-
-* Mac OS X
-
-    - brew install ruby
-    - gem install compass
-    - brew install node
-    - npm install -g bower
-    - npm install -g grunt-cli
-
-* CentOS
-
-    - yum install ruby
-    - gem install compass
-    - yum install npm
-    - npm install -g bower
-    - npm install -g grunt-cli
-
-## Installation
-
-1. Navigate to UI root
-
-2. Load application dependencies
-
-    - npm install
-
-3. Load client-side dependencies
-
-    - bower install
-    
-## Configuration
-
-1. Configure the Node.js web server to proxy api requests to the API URL
-
-    - vim ./conf/config.js
-    - set api.base_url to http://api-domain.com or leave default value
-    
-## Run
-
-1. Package, deploy and start Node.js server
-
-    - grunt
-
-2. Head over to http://localhost:8080
-
-#### Misc
-
-    - Node.js server configuration is found in ./server/server.js
-    - Source files are found in ./app/src
-    - Build artifacts are found in ./app/dist

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/app.js
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/app.js b/traffic_ops/experimental/ui/app/src/app.js
deleted file mode 100644
index 546c9d1..0000000
--- a/traffic_ops/experimental/ui/app/src/app.js
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * 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.
- */
-
-'use strict';
-require('app-templates');
-
-var App = function($urlRouterProvider) {
-    $urlRouterProvider.otherwise('/');
-};
-
-App.$inject = ['$urlRouterProvider'];
-
-var trafficPortal = angular.module('trafficPortal', [
-        'config',
-        'ngAnimate',
-        'ngResource',
-        'ngSanitize',
-        'ngRoute',
-        'ngMap',
-        'ui.router',
-        'ui.bootstrap',
-        'restangular',
-        'app.templates',
-        'angular-jwt',
-        'angular-loading-bar',
-
-        // public modules
-        require('./modules/public').name,
-        require('./modules/public/login').name,
-
-        // private modules
-        require('./modules/private').name,
-
-        // current user
-        require('./modules/private/user').name,
-        require('./modules/private/user/edit').name,
-
-        // admin
-        require('./modules/private/admin').name,
-        require('./modules/private/admin/asns').name,
-        require('./modules/private/admin/asns/edit').name,
-        require('./modules/private/admin/asns/list').name,
-        require('./modules/private/admin/asns/new').name,
-        require('./modules/private/admin/cdns').name,
-        require('./modules/private/admin/cdns/config').name,
-        require('./modules/private/admin/cdns/deliveryServices').name,
-        require('./modules/private/admin/cdns/edit').name,
-        require('./modules/private/admin/cdns/list').name,
-        require('./modules/private/admin/cdns/new').name,
-        require('./modules/private/admin/cdns/profiles').name,
-        require('./modules/private/admin/cdns/servers').name,
-        require('./modules/private/admin/changeLogs').name,
-        require('./modules/private/admin/changeLogs/list').name,
-        require('./modules/private/admin/divisions').name,
-        require('./modules/private/admin/divisions/edit').name,
-        require('./modules/private/admin/divisions/list').name,
-        require('./modules/private/admin/divisions/new').name,
-        require('./modules/private/admin/divisions/regions').name,
-        require('./modules/private/admin/jobs').name,
-        require('./modules/private/admin/jobs/list').name,
-        require('./modules/private/admin/jobs/new').name,
-        require('./modules/private/admin/physLocations').name,
-        require('./modules/private/admin/physLocations/edit').name,
-        require('./modules/private/admin/physLocations/list').name,
-        require('./modules/private/admin/physLocations/new').name,
-        require('./modules/private/admin/physLocations/servers').name,
-        require('./modules/private/admin/parameters').name,
-        require('./modules/private/admin/parameters/cacheGroups').name,
-        require('./modules/private/admin/parameters/edit').name,
-        require('./modules/private/admin/parameters/list').name,
-        require('./modules/private/admin/parameters/new').name,
-        require('./modules/private/admin/parameters/profiles').name,
-        require('./modules/private/admin/profiles').name,
-        require('./modules/private/admin/profiles/deliveryServices').name,
-        require('./modules/private/admin/profiles/edit').name,
-        require('./modules/private/admin/profiles/list').name,
-        require('./modules/private/admin/profiles/new').name,
-        require('./modules/private/admin/profiles/parameters').name,
-        require('./modules/private/admin/profiles/servers').name,
-        require('./modules/private/admin/regions').name,
-        require('./modules/private/admin/regions/edit').name,
-        require('./modules/private/admin/regions/list').name,
-        require('./modules/private/admin/regions/physLocations').name,
-        require('./modules/private/admin/regions/new').name,
-        require('./modules/private/admin/statuses').name,
-        require('./modules/private/admin/statuses/edit').name,
-        require('./modules/private/admin/statuses/list').name,
-        require('./modules/private/admin/statuses/new').name,
-        require('./modules/private/admin/statuses/servers').name,
-        require('./modules/private/admin/tenants').name,
-        require('./modules/private/admin/tenants/edit').name,
-        require('./modules/private/admin/tenants/list').name,
-        require('./modules/private/admin/tenants/new').name,
-        require('./modules/private/admin/types').name,
-        require('./modules/private/admin/types/edit').name,
-        require('./modules/private/admin/types/list').name,
-        require('./modules/private/admin/types/new').name,
-        require('./modules/private/admin/types/servers').name,
-        require('./modules/private/admin/types/cacheGroups').name,
-        require('./modules/private/admin/types/deliveryServices').name,
-        require('./modules/private/admin/types/staticDnsEntries').name,
-        require('./modules/private/admin/users').name,
-        require('./modules/private/admin/users/deliveryServices').name,
-        require('./modules/private/admin/users/edit').name,
-        require('./modules/private/admin/users/list').name,
-        require('./modules/private/admin/users/new').name,
-
-        // configure
-        require('./modules/private/configure').name,
-        require('./modules/private/configure/cacheGroups').name,
-        require('./modules/private/configure/cacheGroups/edit').name,
-        require('./modules/private/configure/cacheGroups/list').name,
-        require('./modules/private/configure/cacheGroups/new').name,
-        require('./modules/private/configure/cacheGroups/asns').name,
-        require('./modules/private/configure/cacheGroups/parameters').name,
-        require('./modules/private/configure/cacheGroups/servers').name,
-        require('./modules/private/configure/cacheGroups/staticDnsEntries').name,
-        require('./modules/private/configure/deliveryServices').name,
-        require('./modules/private/configure/deliveryServices/edit').name,
-        require('./modules/private/configure/deliveryServices/list').name,
-        require('./modules/private/configure/deliveryServices/new').name,
-        require('./modules/private/configure/deliveryServices/jobs').name,
-        require('./modules/private/configure/deliveryServices/jobs/list').name,
-        require('./modules/private/configure/deliveryServices/jobs/new').name,
-        require('./modules/private/configure/deliveryServices/regexes').name,
-        require('./modules/private/configure/deliveryServices/regexes/edit').name,
-        require('./modules/private/configure/deliveryServices/regexes/list').name,
-        require('./modules/private/configure/deliveryServices/regexes/new').name,
-        require('./modules/private/configure/deliveryServices/servers').name,
-        require('./modules/private/configure/deliveryServices/staticDnsEntries').name,
-        require('./modules/private/configure/deliveryServices/users').name,
-        require('./modules/private/configure/servers').name,
-        require('./modules/private/configure/servers/deliveryServices').name,
-        require('./modules/private/configure/servers/edit').name,
-        require('./modules/private/configure/servers/new').name,
-        require('./modules/private/configure/servers/list').name,
-
-        // custom
-        require('./modules/private/custom').name,
-
-        // monitor
-        require('./modules/private/monitor').name,
-
-        // dashboard
-        require('./modules/private/monitor/dashboard').name,
-        require('./modules/private/monitor/dashboard/view').name,
-
-        // map
-        require('./modules/private/monitor/map').name,
-
-        // common modules
-        require('./common/modules/dialog/confirm').name,
-        require('./common/modules/dialog/delete').name,
-        require('./common/modules/dialog/reset').name,
-        require('./common/modules/dialog/select').name,
-        require('./common/modules/dialog/select/status').name,
-        require('./common/modules/header').name,
-        require('./common/modules/message').name,
-        require('./common/modules/navigation').name,
-        require('./common/modules/release').name,
-
-        // forms
-        require('./common/modules/form/cacheGroup').name,
-        require('./common/modules/form/cacheGroup/edit').name,
-        require('./common/modules/form/cacheGroup/new').name,
-        require('./common/modules/form/asn').name,
-        require('./common/modules/form/asn/edit').name,
-        require('./common/modules/form/asn/new').name,
-        require('./common/modules/form/cdn').name,
-        require('./common/modules/form/cdn/edit').name,
-        require('./common/modules/form/cdn/new').name,
-        require('./common/modules/form/deliveryService').name,
-        require('./common/modules/form/deliveryService/edit').name,
-        require('./common/modules/form/deliveryService/new').name,
-        require('./common/modules/form/deliveryServiceRegex').name,
-        require('./common/modules/form/deliveryServiceRegex/edit').name,
-        require('./common/modules/form/deliveryServiceRegex/new').name,
-        require('./common/modules/form/deliveryServiceJob').name,
-        require('./common/modules/form/deliveryServiceJob/new').name,
-        require('./common/modules/form/division').name,
-        require('./common/modules/form/division/edit').name,
-        require('./common/modules/form/division/new').name,
-        require('./common/modules/form/job').name,
-        require('./common/modules/form/job/new').name,
-        require('./common/modules/form/physLocation').name,
-        require('./common/modules/form/physLocation/edit').name,
-        require('./common/modules/form/physLocation/new').name,
-        require('./common/modules/form/parameter').name,
-        require('./common/modules/form/parameter/edit').name,
-        require('./common/modules/form/parameter/new').name,
-        require('./common/modules/form/profile').name,
-        require('./common/modules/form/profile/edit').name,
-        require('./common/modules/form/profile/new').name,
-        require('./common/modules/form/region').name,
-        require('./common/modules/form/region/edit').name,
-        require('./common/modules/form/region/new').name,
-        require('./common/modules/form/server').name,
-        require('./common/modules/form/server/edit').name,
-        require('./common/modules/form/server/new').name,
-        require('./common/modules/form/status').name,
-        require('./common/modules/form/status/edit').name,
-        require('./common/modules/form/status/new').name,
-        require('./common/modules/form/tenant').name,
-        require('./common/modules/form/tenant/edit').name,
-        require('./common/modules/form/tenant/new').name,
-        require('./common/modules/form/type').name,
-        require('./common/modules/form/type/edit').name,
-        require('./common/modules/form/type/new').name,
-        require('./common/modules/form/user').name,
-        require('./common/modules/form/user/edit').name,
-        require('./common/modules/form/user/new').name,
-
-        // tables
-        require('./common/modules/table/cacheGroups').name,
-        require('./common/modules/table/cacheGroupAsns').name,
-        require('./common/modules/table/cacheGroupParameters').name,
-        require('./common/modules/table/cacheGroupServers').name,
-        require('./common/modules/table/cacheGroupStaticDnsEntries').name,
-        require('./common/modules/table/changeLogs').name,
-        require('./common/modules/table/asns').name,
-        require('./common/modules/table/cdns').name,
-        require('./common/modules/table/cdnDeliveryServices').name,
-        require('./common/modules/table/cdnProfiles').name,
-        require('./common/modules/table/cdnServers').name,
-        require('./common/modules/table/deliveryServices').name,
-        require('./common/modules/table/deliveryServiceJobs').name,
-        require('./common/modules/table/deliveryServiceRegexes').name,
-        require('./common/modules/table/deliveryServiceServers').name,
-        require('./common/modules/table/deliveryServiceStaticDnsEntries').name,
-        require('./common/modules/table/deliveryServiceUsers').name,
-        require('./common/modules/table/divisions').name,
-        require('./common/modules/table/divisionRegions').name,
-        require('./common/modules/table/jobs').name,
-        require('./common/modules/table/physLocations').name,
-        require('./common/modules/table/physLocationServers').name,
-        require('./common/modules/table/parameters').name,
-        require('./common/modules/table/parameterCacheGroups').name,
-        require('./common/modules/table/parameterProfiles').name,
-        require('./common/modules/table/profileDeliveryServices').name,
-        require('./common/modules/table/profileParameters').name,
-        require('./common/modules/table/profileServers').name,
-        require('./common/modules/table/profiles').name,
-        require('./common/modules/table/regions').name,
-        require('./common/modules/table/regionPhysLocations').name,
-        require('./common/modules/table/servers').name,
-        require('./common/modules/table/serverDeliveryServices').name,
-        require('./common/modules/table/statuses').name,
-        require('./common/modules/table/statusServers').name,
-        require('./common/modules/table/tenants').name,
-        require('./common/modules/table/types').name,
-        require('./common/modules/table/typeCacheGroups').name,
-        require('./common/modules/table/typeDeliveryServices').name,
-        require('./common/modules/table/typeServers').name,
-        require('./common/modules/table/typeStaticDnsEntries').name,
-        require('./common/modules/table/users').name,
-        require('./common/modules/table/userDeliveryServices').name,
-
-        // widgets
-        require('./common/modules/widget/cacheGroups').name,
-        require('./common/modules/widget/capacity').name,
-        require('./common/modules/widget/cdnChart').name,
-        require('./common/modules/widget/changeLogs').name,
-        require('./common/modules/widget/routing').name,
-
-        // models
-        require('./common/models').name,
-        require('./common/api').name,
-
-        // directives
-        require('./common/directives/match').name,
-
-        // services
-        require('./common/service/application').name,
-        require('./common/service/utils').name,
-
-        // filters
-        require('./common/filters').name
-
-    ], App)
-
-        .config(function($stateProvider, $logProvider, $controllerProvider, RestangularProvider, ENV) {
-
-            RestangularProvider.setBaseUrl(ENV.api['root']);
-
-            RestangularProvider.setResponseInterceptor(function(data, operation, what) {
-
-                if (angular.isDefined(data.response)) { // todo: this should not be needed. need better solution.
-                    if (operation == 'getList') {
-                        return data.response;
-                    }
-                    return data.response[0];
-                } else {
-                    return data;
-                }
-            });
-
-            $controllerProvider.allowGlobals();
-            $logProvider.debugEnabled(true);
-            $stateProvider
-                .state('trafficPortal', {
-                    url: '/',
-                    abstract: true,
-                    templateUrl: 'common/templates/master.tpl.html',
-                        resolve: {
-                                properties: function(trafficPortalService, propertiesModel) {
-                                        return trafficPortalService.getProperties()
-                                            .then(function(result) {
-                                                    propertiesModel.setProperties(result);
-                                            });
-                                }
-                        }
-
-                });
-        })
-
-        .run(function($log, applicationService) {
-            $log.debug("Application run...");
-            applicationService.startup();
-        })
-    ;
-
-trafficPortal.factory('authInterceptor', function ($q, $window, $location, $timeout, messageModel, userModel) {
-    return {
-        responseError: function (rejection) {
-            var url = $location.url(),
-                alerts = [];
-
-            try { alerts = rejection.data.alerts; }
-            catch(e) {}
-
-            // 401, 403, 404 and 5xx errors handled globally; all others handled in fault handler
-            if (rejection.status === 401) {
-                userModel.resetUser();
-                if (url == '/' || $location.search().redirect) {
-                    messageModel.setMessages(alerts, false);
-                } else {
-                    $timeout(function () {
-                        messageModel.setMessages(alerts, true);
-                        // forward the to the login page with ?redirect=page/they/were/trying/to/reach
-                        $location.url('/').search({ redirect: encodeURIComponent(url) });
-                    }, 200);
-                }
-            } else if (rejection.status === 403 || rejection.status === 404) {
-                $timeout(function () {
-                    messageModel.setMessages(alerts, false);
-                }, 200);
-            } else if (rejection.status.toString().match(/^5\d[01356789]$/)) {
-                // matches 5xx EXCEPT for 502's and 504's which indicate a timeout and will be handled by each service call accordingly
-                $timeout(function () {
-                    messageModel.setMessages([ { level: 'error', text: rejection.status.toString() + ': ' + rejection.statusText } ], false);
-                }, 200);
-            }
-
-            return $q.reject(rejection);
-        }
-    };
-});
-
-trafficPortal.config(function ($httpProvider) {
-    $httpProvider.interceptors.push('authInterceptor');
-});
-
-

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/css/custom.css
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/css/custom.css b/traffic_ops/experimental/ui/app/src/assets/css/custom.css
deleted file mode 100644
index 6759bab..0000000
--- a/traffic_ops/experimental/ui/app/src/assets/css/custom.css
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * 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.
- */
-
-/* override styles here */

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/css/jquery.dataTables.min.css
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/css/jquery.dataTables.min.css b/traffic_ops/experimental/ui/app/src/assets/css/jquery.dataTables.min.css
deleted file mode 100644
index 4f10100..0000000
--- a/traffic_ops/experimental/ui/app/src/assets/css/jquery.dataTables.min.css
+++ /dev/null
@@ -1 +0,0 @@
-table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc{cursor:pointer;*cursor:hand}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.data
 Table thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:white}table.dataTable tbody tr.selected{background-color:#b0bed9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #dddddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #dddddd;border-right:1px solid #dddddd}table.dataTable.cell-border tbod
 y tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #dddddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#abb9d3}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:whitesmoke}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#a9b7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#f9f9f9}table.dataTable.order-column tbody
  tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad4}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b3cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sort
 ing_2{background-color:#a7b5ce}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b6d0}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#f9f9f9}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fbfbfb}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fdfdfd}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad4}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#adbbd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.e
 ven.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ebebeb}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#eeeeee}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a1aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a2afc8}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a4b2cb}table.dataTable.no-footer{border-bottom:1px solid #111111}table.dataTable.nowr
 ap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,
 table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tb
 ody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,
 .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111111;background-c
 olor:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wra
 pper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,2
 55,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .
 dataTables_scrollBody{border-bottom:1px solid #111111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table,.dataTables_wrapper.no-footer div.dataTables_scrollBody table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}}

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/fonts/FontAwesome.otf
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/fonts/FontAwesome.otf b/traffic_ops/experimental/ui/app/src/assets/fonts/FontAwesome.otf
deleted file mode 100644
index 3ed7f8b..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/fonts/FontAwesome.otf and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.eot
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.eot b/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.eot
deleted file mode 100644
index 9b6afae..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.eot and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.ttf
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.ttf b/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.ttf
deleted file mode 100644
index 26dea79..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.ttf and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff b/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff
deleted file mode 100644
index dc35ce3..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff2
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff2 b/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff2
deleted file mode 100644
index 500e517..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/fonts/fontawesome-webfont.woff2 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/images/favicon.png
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/images/favicon.png b/traffic_ops/experimental/ui/app/src/assets/images/favicon.png
deleted file mode 100644
index 83df44e..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/images/favicon.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/images/sort_asc.png
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/images/sort_asc.png b/traffic_ops/experimental/ui/app/src/assets/images/sort_asc.png
deleted file mode 100644
index e1ba61a..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/images/sort_asc.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/images/sort_asc_disabled.png
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/images/sort_asc_disabled.png b/traffic_ops/experimental/ui/app/src/assets/images/sort_asc_disabled.png
deleted file mode 100644
index fb11dfe..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/images/sort_asc_disabled.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/images/sort_both.png
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/images/sort_both.png b/traffic_ops/experimental/ui/app/src/assets/images/sort_both.png
deleted file mode 100644
index af5bc7c..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/images/sort_both.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/images/sort_desc.png
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/images/sort_desc.png b/traffic_ops/experimental/ui/app/src/assets/images/sort_desc.png
deleted file mode 100644
index 0e156de..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/images/sort_desc.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3195e0cc/traffic_ops/experimental/ui/app/src/assets/images/sort_desc_disabled.png
----------------------------------------------------------------------
diff --git a/traffic_ops/experimental/ui/app/src/assets/images/sort_desc_disabled.png b/traffic_ops/experimental/ui/app/src/assets/images/sort_desc_disabled.png
deleted file mode 100644
index c9fdd8a..0000000
Binary files a/traffic_ops/experimental/ui/app/src/assets/images/sort_desc_disabled.png and /dev/null differ