Removed sample files
diff --git a/views/ngXosLib/README.md b/views/ngXosLib/README.md
index 2eb73cb..f4b9c8f 100644
--- a/views/ngXosLib/README.md
+++ b/views/ngXosLib/README.md
@@ -6,14 +6,6 @@
 
 This tools are designed to help you developing UI for XOS. As they born for this purpose if often necessary that a XOS instance is running on your sistem and responding at: `localhost:9999`. The `xos/configurations/frontend` is normally enough.
 
-### Apigen
-
-Usage: `npm run apigen`
-
-This tool will automatically generate an angular resource file for each endpoint available in Apiary.
-
->You can generate api related documentation with: `npm run doc`. The output is locate in `api/docs`. You can have a list of available method also trough Apiary at `http://docs.xos.apiary.io/#`
-
 ### Vendors
 
 Xos comes with a preset of common libraries, as listed in `bower.json`:
@@ -33,7 +25,7 @@
 
 ### Helpers
 
-XOS comes with an helper library that is automatically loaded in the Django template.
+XOS comes with an helper library that is automatically loaded in the Django template. It a set of Services and UI Components
 
 To use it, add `xos.helpers` to your required modules:
 
@@ -45,14 +37,12 @@
 
 It will automatically ad a `token` to all your request, eventually you can take advantage of some other services:
 
-- **NoHyperlinks Interceptor**: will add a `?no_hyperlinks=1` to your request, to tell Django to return ids instead of links.
-
->_NOTE: for the API related service, check documentation in [Apigen](#apigen) section._
-
 To develop components inside this folder there is a particular command: `npm run dev`, this will watch the helpers file and rebuild them with sourcemaps. For this reason remember to build them when done developing.
 
 When some changes are applied to this common library it should be rebuilt with: `npm run build`
 
+To generate the relative documentation use: `npm run doc`
+
 ### Yo Xos
 
 We have created a [yeoman](http://yeoman.io/) generator to help you scaffolding views.
diff --git a/views/ngXosLib/apigen/blueprintToNgResource.js b/views/ngXosLib/apigen/blueprintToNgResource.js
deleted file mode 100644
index fdb1050..0000000
--- a/views/ngXosLib/apigen/blueprintToNgResource.js
+++ /dev/null
@@ -1,77 +0,0 @@
-'use strict';
-
-const protagonist = require('protagonist');
-const fs = require('fs');
-const P = require('bluebird');
-const _ = require('lodash');
-const chalk = require('chalk');
-const Handlebars = require('handlebars');
-const util = require('util');
-const path = require('path');
-
-P.promisifyAll(fs);
-P.promisifyAll(protagonist);
-
-const angualarModuleName = 'xos.helpers'
-
-// format href in angular format
-const formatHref = url => url.replace('{', ':').replace('}', '');
-
-const formatTitle = title => title.split(' ').join('-');
-
-const getParamName = url => url.match(/\{([^)]+)\}/) ? url.match(/\{([^)]+)\}/)[1] : '';
-
-// Get Group description
-const getGroupDescription = (group) => _.find(group, {element: 'copy'}) ? _.find(group, {element: 'copy'}).content.replace(/\n$/, '') : '';
-
-// Loop APIs endpoint
-const loopApiEndpoint = (group) => {
-  // removing description
-  _.remove(group, {element: 'copy'})
-
-  return _.map(group, g => {
-    return {
-      name: formatTitle(g.meta.title),
-      param: {href: formatHref(g.attributes.href), name: getParamName(g.attributes.href)},
-    }
-  })
-};
-
-// Loop APIs groups
-const loopApiGroups = (defs) => {
-  if (!Array.isArray(defs)) {
-    return;
-  }
-  _.forEach(defs, d => {
-    console.info(chalk.blue.bold(`Parsing Group: ${d.meta.title}`));
-
-    var data = {
-      description: getGroupDescription(d.content),
-      ngModule: angualarModuleName,
-      resources: loopApiEndpoint(d.content)
-    };
-    fs.writeFileSync(path.join(__dirname, `../xosHelpers/src/services/rest/${formatTitle(d.meta.title)}.js`), handlebarsTemplate(data));
-  });
-
-  console.info(chalk.green.bold(`Api Generated`));
-
-};
-
-// Loop the top level definitions
-const loopApiDefinitions = (defs) => {
-  // console.log(util.inspect(defs, false, null));
-  _.forEach(defs, d => loopApiGroups(d.content));
-};
-
-let handlebarsTemplate;
-
-// read blueprint docs and parse
-fs.readFileAsync(path.join(__dirname, './ngResourceTemplate.handlebars'), 'utf8')
-.then((template) => {
-  handlebarsTemplate = Handlebars.compile(template);
-  return fs.readFileAsync(path.join(__dirname, '../../../apiary.apib'), 'utf8')
-})
-.then(data => protagonist.parseAsync(data))
-.then(result => loopApiDefinitions(result.content))
-.catch(console.warn);
-
diff --git a/views/ngXosLib/apigen/ngResourceTemplate.handlebars b/views/ngXosLib/apigen/ngResourceTemplate.handlebars
deleted file mode 100644
index c1bc8f5..0000000
--- a/views/ngXosLib/apigen/ngResourceTemplate.handlebars
+++ /dev/null
@@ -1,17 +0,0 @@
-(function() {
-  'use strict';
-
-  angular.module('{{ngModule}}')
-  {{#each resources}}
-  /**
-  * @ngdoc service
-  * @name {{../ngModule}}.{{name}}
-  * @description Angular resource to fetch {{param.href}}
-  **/
-  .service('{{name}}', function($resource){
-    return $resource('{{param.href}}'{{#if param.name}}, { {{param.name}}: '@id' }, {
-      update: { method: 'PUT' }
-    }{{/if}});
-  })
-  {{/each}}
-})();
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/src/services/rest/Subscribers.js b/views/ngXosLib/xosHelpers/src/services/rest/Subscribers.js
index 342d856..945e1e8 100644
--- a/views/ngXosLib/xosHelpers/src/services/rest/Subscribers.js
+++ b/views/ngXosLib/xosHelpers/src/services/rest/Subscribers.js
@@ -5,71 +5,143 @@
   /**
   * @ngdoc service
   * @name xos.helpers.Subscribers
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/
+  * @description Angular resource to fetch Subscribers
   **/
   .service('Subscribers', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  })
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscriber-features
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/features/
-  **/
-  .service('Subscriber-features', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/features/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  })
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscriber-features-uplink_speed
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/features/uplink_speed/
-  **/
-  .service('Subscriber-features-uplink_speed', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/features/uplink_speed/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  })
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscriber-features-downlink_speed
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/features/downlink_speed/
-  **/
-  .service('Subscriber-features-downlink_speed', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/features/downlink_speed/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  })
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscriber-features-cdn
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/features/cdn/
-  **/
-  .service('Subscriber-features-cdn', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/features/cdn/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  })
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscriber-features-uverse
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/features/uverse/
-  **/
-  .service('Subscriber-features-uverse', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/features/uverse/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
-  })
-  /**
-  * @ngdoc service
-  * @name xos.helpers.Subscriber-features-status
-  * @description Angular resource to fetch /api/tenant/cord/subscriber/:subscriber_id/features/status/
-  **/
-  .service('Subscriber-features-status', function($resource){
-    return $resource('/api/tenant/cord/subscriber/:subscriber_id/features/status/', { subscriber_id: '@id' }, {
-      update: { method: 'PUT' }
-    });
+    return $resource('/api/tenant/cord/subscriber/:id/', { id: '@id' }, {
+      update: { method: 'PUT' },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#View-a-Subscriber-Features-Detail
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * View-a-Subscriber-Features-Detail
+      **/
+      'View-a-Subscriber-Features-Detail': {
+        method: 'GET',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Read-Subscriber-uplink_speed
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Read-Subscriber-uplink_speed
+      **/
+      'Read-Subscriber-uplink_speed': {
+        method: 'GET',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/uplink_speed/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Update-Subscriber-uplink_speed
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Update-Subscriber-uplink_speed
+      **/
+      'Update-Subscriber-uplink_speed': {
+        method: 'PUT',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/uplink_speed/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Read-Subscriber-downlink_speed
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Read-Subscriber-downlink_speed
+      **/
+      'Read-Subscriber-downlink_speed': {
+        method: 'GET',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/downlink_speed/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Update-Subscriber-downlink_speed
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Update-Subscriber-downlink_speed
+      **/
+      'Update-Subscriber-downlink_speed': {
+        method: 'PUT',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/downlink_speed/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Read-Subscriber-cdn
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Read-Subscriber-cdn
+      **/
+      'Read-Subscriber-cdn': {
+        method: 'GET',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/cdn/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Update-Subscriber-cdn
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Update-Subscriber-cdn
+      **/
+      'Update-Subscriber-cdn': {
+        method: 'PUT',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/cdn/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Read-Subscriber-uverse
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Read-Subscriber-uverse
+      **/
+      'Read-Subscriber-uverse': {
+        method: 'GET',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/uverse/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Update-Subscriber-uverse
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Update-Subscriber-uverse
+      **/
+      'Update-Subscriber-uverse': {
+        method: 'PUT',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/uverse/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Read-Subscriber-status
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Read-Subscriber-status
+      **/
+      'Read-Subscriber-status': {
+        method: 'GET',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/status/'
+      },
+      /**
+      * @ngdoc method
+      * @name xos.helpers.Subscribers#Update-Subscriber-status
+      * @methodOf xos.helpers.Subscribers
+      * @description
+      * Update-Subscriber-status
+      **/
+      'Update-Subscriber-status': {
+        method: 'PUT',
+        isArray: false,
+        url: '/api/tenant/cord/subscriber/:id/features/status/'
+      }
+    })
   })
 })();
\ No newline at end of file
diff --git a/views/ngXosLib/xosHelpers/src/styles/main.scss b/views/ngXosLib/xosHelpers/src/styles/main.scss
index 800466e..43c54f6 100644
--- a/views/ngXosLib/xosHelpers/src/styles/main.scss
+++ b/views/ngXosLib/xosHelpers/src/styles/main.scss
@@ -1,5 +1,5 @@
 @import './animations.scss';
-@import '../../../../../../style/sass/bootstrap/bootstrap/_variables.scss';
+@import '../../../../../views/style/sass/bootstrap/bootstrap/_variables.scss';
 
 @import '../ui_components/dumbComponents/table/table.scss';
 @import '../ui_components/dumbComponents/alert/alert.scss';
diff --git a/views/ngXosViews/sampleView/.bowerrc b/views/ngXosViews/sampleView/.bowerrc
deleted file mode 100644
index e491038..0000000
--- a/views/ngXosViews/sampleView/.bowerrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "directory": "src/vendor/"
-}
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/.eslintrc b/views/ngXosViews/sampleView/.eslintrc
deleted file mode 100644
index c852748..0000000
--- a/views/ngXosViews/sampleView/.eslintrc
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-    "ecmaFeatures": {
-        "blockBindings": true,
-        "forOf": true,
-        "destructuring": true,
-        "arrowFunctions": true,
-        "templateStrings": true
-    },
-    "env": { 
-        "browser": true,
-        "node": true,
-        "es6": true
-    },
-    "plugins": [
-        //"angular"
-    ],
-    "rules": {
-        "quotes": [2, "single"],
-        "camelcase": [1, {"properties": "always"}],
-        "no-underscore-dangle": 1,
-        "eqeqeq": [2, "smart"],
-        "no-alert": 1,
-        "key-spacing": [1, { "beforeColon": false, "afterColon": true }],
-        "indent": [2, 2],
-        "no-irregular-whitespace": 1,
-        "eol-last": 0,
-        "max-nested-callbacks": [2, 4],
-        "comma-spacing": [1, {"before": false, "after": true}],
-        "no-trailing-spaces": [1, { skipBlankLines: true }],
-        "no-unused-vars": [1, {"vars": "all", "args": "after-used"}],
-        "new-cap": 0,
-
-        //"angular/ng_module_name": [2, '/^xos\.*[a-z]*$/'],
-        //"angular/ng_controller_name": [2, '/^[a-z].*Ctrl$/'],
-        //"angular/ng_service_name": [2, '/^[A-Z].*Service$/'],
-        //"angular/ng_directive_name": [2, '/^[a-z]+[[A-Z].*]*$/'],
-        //"angular/ng_di": [0, "function or array"]
-    },
-    "globals" :{
-        "angular": true
-    } 
-}
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/.gitignore b/views/ngXosViews/sampleView/.gitignore
deleted file mode 100644
index 567aee4..0000000
--- a/views/ngXosViews/sampleView/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-dist/
-src/vendor
-.tmp
-node_modules
-npm-debug.log
-dist/
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/bower.json b/views/ngXosViews/sampleView/bower.json
deleted file mode 100644
index a940676..0000000
--- a/views/ngXosViews/sampleView/bower.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "name": "xos-sampleView",
-  "version": "0.0.0",
-  "authors": [
-    "Matteo Scandolo <teo@onlab.us>"
-  ],
-  "description": "The sampleView view",
-  "license": "MIT",
-  "ignore": [
-    "**/.*",
-    "node_modules",
-    "bower_components",
-    "static/js/vendor/",
-    "test",
-    "tests"
-  ],
-  "dependencies": {
-  },
-  "devDependencies": {
-    "jquery": "2.1.4",
-    "angular-mocks": "1.4.7",
-    "angular": "1.4.7",
-    "angular-ui-router": "0.2.15",
-    "angular-cookies": "1.4.7",
-    "angular-animate": "1.4.7",
-    "angular-resource": "1.4.7",
-    "lodash": "~4.11.1",
-    "bootstrap-css": "3.3.6"
-  }
-}
diff --git a/views/ngXosViews/sampleView/env/default.js b/views/ngXosViews/sampleView/env/default.js
deleted file mode 100644
index 6343727..0000000
--- a/views/ngXosViews/sampleView/env/default.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// This is a default configuration for your development environment.
-// You can duplicate this configuration for any of your Backend Environments.
-// Different configurations are loaded setting a NODE_ENV variable that contain the config file name.
-// `NODE_ENV=local npm start`
-//
-// If xoscsrftoken or xossessionid are not specified the browser value are used
-// (works only for local environment as both application are served on the same domain)
-
-module.exports = {
-  host: 'http://xos.dev:9999/',
-  xoscsrftoken: '6OdNq1P7Aydyut3KjWBZoXLPJhb4DcuQ',
-  xossessionid: 'fpyv5s71bj779wmguxtg8wori16kiyrz'
-};
diff --git a/views/ngXosViews/sampleView/gulp/build.js b/views/ngXosViews/sampleView/gulp/build.js
deleted file mode 100644
index 36534fb..0000000
--- a/views/ngXosViews/sampleView/gulp/build.js
+++ /dev/null
@@ -1,163 +0,0 @@
-'use strict';
-
-// BUILD
-//
-// The only purpose of this gulpfile is to build a XOS view and copy the correct files into
-// .html => dashboards
-// .js (minified and concat) => static/js
-//
-// The template are parsed and added to js with angular $templateCache
-
-var gulp = require('gulp');
-var ngAnnotate = require('gulp-ng-annotate');
-var uglify = require('gulp-uglify');
-var templateCache = require('gulp-angular-templatecache');
-var runSequence = require('run-sequence');
-var concat = require('gulp-concat-util');
-var del = require('del');
-var wiredep = require('wiredep');
-var angularFilesort = require('gulp-angular-filesort');
-var _ = require('lodash');
-var eslint = require('gulp-eslint');
-var inject = require('gulp-inject');
-var rename = require('gulp-rename');
-var replace = require('gulp-replace');
-var postcss = require('gulp-postcss');
-var autoprefixer = require('autoprefixer');
-var mqpacker = require('css-mqpacker');
-var csswring = require('csswring');
-
-const TEMPLATE_FOOTER = `
-angular.module('xos.sampleView')
-.run(['$location', function(a){
-  a.path('/');
-}])
-`
-
-module.exports = function(options){
-  
-  // delete previous builded file
-  gulp.task('clean', function(){
-    return del(
-      [
-        options.dashboards + 'xosSampleView.html',
-        options.static + 'css/xosSampleView.css'
-      ],
-      {force: true}
-    );
-  });
-
-  // minify css
-  gulp.task('css', function () {
-    var processors = [
-      autoprefixer({browsers: ['last 1 version']}),
-      mqpacker,
-      csswring
-    ];
-
-    gulp.src([
-      `${options.css}**/*.css`,
-      `!${options.css}dev.css`
-    ])
-    .pipe(postcss(processors))
-    .pipe(gulp.dest(options.tmp + '/css/'));
-  });
-
-  // copy css in correct folder
-  gulp.task('copyCss', ['wait'], function(){
-    return gulp.src([`${options.tmp}/css/*.css`])
-    .pipe(concat('xosSampleView.css'))
-    .pipe(gulp.dest(options.static + 'css/'))
-  });
-
-  // compile and minify scripts
-  gulp.task('scripts', function() {
-    return gulp.src([
-      options.tmp + '**/*.js'
-    ])
-    .pipe(ngAnnotate())
-    .pipe(angularFilesort())
-    .pipe(concat('xosSampleView.js'))
-    .pipe(concat.header('//Autogenerated, do not edit!!!\n'))
-    .pipe(concat.footer(TEMPLATE_FOOTER))
-    .pipe(uglify())
-    .pipe(gulp.dest(options.static + 'js/'));
-  });
-
-  // set templates in cache
-  gulp.task('templates', function(){
-    return gulp.src('./src/templates/*.html')
-      .pipe(templateCache({
-        module: 'xos.sampleView',
-        root: 'templates/'
-      }))
-      .pipe(gulp.dest(options.tmp));
-  });
-
-  // copy html index to Django Folder
-  gulp.task('copyHtml', function(){
-    return gulp.src(options.src + 'index.html')
-      // remove dev dependencies from html
-      .pipe(replace(/<!-- bower:css -->(\n.*)*\n<!-- endbower --><!-- endcss -->/, ''))
-      .pipe(replace(/<!-- bower:js -->(\n.*)*\n<!-- endbower --><!-- endjs -->/, ''))
-      // injecting minified files
-      .pipe(
-        inject(
-          gulp.src([
-            options.static + 'js/vendor/xosSampleViewVendor.js',
-            options.static + 'js/xosSampleView.js',
-            options.static + 'css/xosSampleView.css'
-          ]),
-          {ignorePath: '/../../../xos/core/xoslib'}
-        )
-      )
-      .pipe(rename('xosSampleView.html'))
-      .pipe(gulp.dest(options.dashboards));
-  });
-
-  // minify vendor js files
-  gulp.task('wiredep', function(){
-    var bowerDeps = wiredep().js;
-    if(!bowerDeps){
-      return;
-    }
-
-    // remove angular (it's already loaded)
-    _.remove(bowerDeps, function(dep){
-      return dep.indexOf('angular/angular.js') !== -1;
-    });
-
-    return gulp.src(bowerDeps)
-      .pipe(concat('xosSampleViewVendor.js'))
-      .pipe(uglify())
-      .pipe(gulp.dest(options.static + 'js/vendor/'));
-  });
-
-  gulp.task('lint', function () {
-    return gulp.src(['src/js/**/*.js'])
-      .pipe(eslint())
-      .pipe(eslint.format())
-      .pipe(eslint.failAfterError());
-  });
-
-  gulp.task('wait', function (cb) {
-    // setTimeout could be any async task
-    setTimeout(function () {
-      cb();
-    }, 1000);
-  });
-
-  gulp.task('build', function() {
-    runSequence(
-      'clean',
-      'templates',
-      'babel',
-      'scripts',
-      'wiredep',
-      'css',
-      'copyCss',
-      'copyHtml',
-      'cleanTmp'
-    );
-  });
-};
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/gulp/server.js b/views/ngXosViews/sampleView/gulp/server.js
deleted file mode 100644
index c0678d9..0000000
--- a/views/ngXosViews/sampleView/gulp/server.js
+++ /dev/null
@@ -1,168 +0,0 @@
-'use strict';
-
-var gulp = require('gulp');
-var browserSync = require('browser-sync').create();
-var inject = require('gulp-inject');
-var runSequence = require('run-sequence');
-var angularFilesort = require('gulp-angular-filesort');
-var babel = require('gulp-babel');
-var wiredep = require('wiredep').stream;
-var httpProxy = require('http-proxy');
-var del = require('del');
-var sass = require('gulp-sass');
-
-const environment = process.env.NODE_ENV;
-
-if (environment){
-  var conf = require(`../env/${environment}.js`);
-}
-else{
-  var conf = require('../env/default.js')
-}
-
-var proxy = httpProxy.createProxyServer({
-  target: conf.host || 'http://0.0.0.0:9999'
-});
-
-
-proxy.on('error', function(error, req, res) {
-  res.writeHead(500, {
-    'Content-Type': 'text/plain'
-  });
-
-  console.error('[Proxy]', error);
-});
-
-module.exports = function(options){
-
-  gulp.task('browser', function() {
-    browserSync.init({
-      startPath: '#/',
-      snippetOptions: {
-        rule: {
-          match: /<!-- browserSync -->/i
-        }
-      },
-      server: {
-        baseDir: options.src,
-        routes: {
-          '/xos/core/xoslib/static/js/vendor': options.helpers,
-          '/xos/core/static': options.static + '../../static/'
-        },
-        middleware: function(req, res, next){
-          if(
-            // to be removed, deprecated API
-            // req.url.indexOf('/xos/') !== -1 ||
-            // req.url.indexOf('/xoslib/') !== -1 ||
-            // req.url.indexOf('/hpcapi/') !== -1 ||
-            req.url.indexOf('/api/') !== -1
-          ){
-            if(conf.xoscsrftoken && conf.xossessionid){
-              req.headers.cookie = `xoscsrftoken=${conf.xoscsrftoken}; xossessionid=${conf.xossessionid}`;
-              req.headers['x-csrftoken'] = conf.xoscsrftoken;
-            }
-            proxy.web(req, res);
-          }
-          else{
-            next();
-          }
-        }
-      }
-    });
-
-    gulp.watch(options.src + 'js/**/*.js', ['js-watch']);
-    gulp.watch(options.src + 'vendor/**/*.js', ['bower'], function(){
-      browserSync.reload();
-    });
-    gulp.watch(options.src + '**/*.html', function(){
-      browserSync.reload();
-    });
-    gulp.watch(options.css + '**/*.css', function(){
-      browserSync.reload();
-    });
-    gulp.watch(`${options.sass}/**/*.scss`, ['sass'], function(){
-      browserSync.reload();
-    });
-
-    gulp.watch([
-      options.helpers + 'ngXosHelpers.js',
-      options.static + '../../static/xosNgLib.css'
-    ], function(){
-      browserSync.reload();
-    });
-  });
-
-  // compile sass
-  gulp.task('sass', function () {
-    return gulp.src(`${options.sass}/**/*.scss`)
-      .pipe(sass().on('error', sass.logError))
-      .pipe(gulp.dest(options.css));
-  });
-
-  // transpile js with sourceMaps
-  gulp.task('babel', function(){
-    return gulp.src(options.scripts + '**/*.js')
-      .pipe(babel({sourceMaps: true}))
-      .pipe(gulp.dest(options.tmp));
-  });
-
-  // inject scripts
-  gulp.task('injectScript', ['cleanTmp', 'babel'], function(){
-    return gulp.src(options.src + 'index.html')
-      .pipe(
-        inject(
-          gulp.src([
-            options.tmp + '**/*.js',
-            options.helpers + 'ngXosHelpers.js'
-          ])
-          .pipe(angularFilesort()),
-          {
-            ignorePath: [options.src, '/../../ngXosLib']
-          }
-        )
-      )
-      .pipe(gulp.dest(options.src));
-  });
-
-  // inject CSS
-  gulp.task('injectCss', function(){
-    return gulp.src(options.src + 'index.html')
-      .pipe(
-        inject(
-          gulp.src([
-            options.src + 'css/*.css',
-            options.static + '../../static/xosNgLib.css'
-          ]),
-          {
-            ignorePath: [options.src]
-          }
-          )
-        )
-      .pipe(gulp.dest(options.src));
-  });
-
-  // inject bower dependencies with wiredep
-  gulp.task('bower', function () {
-    return gulp.src(options.src + 'index.html')
-    .pipe(wiredep({devDependencies: true}))
-    .pipe(gulp.dest(options.src));
-  });
-
-  gulp.task('js-watch', ['injectScript'], function(){
-    browserSync.reload();
-  });
-
-  gulp.task('cleanTmp', function(){
-    return del([options.tmp + '**/*']);
-  });
-
-  gulp.task('serve', function() {
-    runSequence(
-      'sass',
-      'bower',
-      'injectScript',
-      'injectCss',
-      ['browser']
-    );
-  });
-};
diff --git a/views/ngXosViews/sampleView/gulpfile.js b/views/ngXosViews/sampleView/gulpfile.js
deleted file mode 100644
index 08df554..0000000
--- a/views/ngXosViews/sampleView/gulpfile.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-
-var gulp = require('gulp');
-var wrench = require('wrench');
-
-var options = {
-  src: 'src/',
-  css: 'src/css/',
-  sass: 'src/sass/',
-  scripts: 'src/js/',
-  tmp: 'src/.tmp',
-  dist: 'dist/',
-  api: '../../ngXosLib/api/',
-  helpers: '../../../xos/core/xoslib/static/js/vendor/',
-  static: '../../../xos/core/xoslib/static/', // this is the django static folder
-  dashboards: '../../../xos/core/xoslib/dashboards/' // this is the django html folder
-};
-
-wrench.readdirSyncRecursive('./gulp')
-.map(function(file) {
-  require('./gulp/' + file)(options);
-});
-
-gulp.task('default', function () {
-  gulp.start('build');
-});
diff --git a/views/ngXosViews/sampleView/karma.conf.js b/views/ngXosViews/sampleView/karma.conf.js
deleted file mode 100644
index 4123be9..0000000
--- a/views/ngXosViews/sampleView/karma.conf.js
+++ /dev/null
@@ -1,88 +0,0 @@
-// Karma configuration
-// Generated on Tue Oct 06 2015 09:27:10 GMT+0000 (UTC)
-
-/* eslint indent: [2,2], quotes: [2, "single"]*/
-
-/*eslint-disable*/
-var wiredep = require('wiredep');
-var path = require('path');
-
-var bowerComponents = wiredep( {devDependencies: true} )[ 'js' ].map(function( file ){
-  return path.relative(process.cwd(), file);
-});
-
-module.exports = function(config) {
-/*eslint-enable*/
-  config.set({
-
-    // base path that will be used to resolve all patterns (eg. files, exclude)
-    basePath: '',
-
-
-    // frameworks to use
-    // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
-    frameworks: ['jasmine'],
-
-
-    // list of files / patterns to load in the browser
-    files: bowerComponents.concat([
-      '../../../xos/core/xoslib/static/js/vendor/ngXosVendor.js',
-      '../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js',
-      'src/js/**/*.js',
-      'spec/**/*.mock.js',
-      'spec/**/*.test.js',
-      'src/**/*.html'
-    ]),
-
-
-    // list of files to exclude
-    exclude: [
-    ],
-
-
-    // preprocess matching files before serving them to the browser
-    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
-    preprocessors: {
-      'src/js/**/*.js': ['babel'],
-      'spec/**/*.test.js': ['babel'],
-      'src/**/*.html': ['ng-html2js']
-    },
-
-    ngHtml2JsPreprocessor: {
-      stripPrefix: 'src/', //strip the src path from template url (http://stackoverflow.com/questions/22869668/karma-unexpected-request-when-testing-angular-directive-even-with-ng-html2js)
-      moduleName: 'templates' // define the template module name
-    },
-
-    // test results reporter to use
-    // possible values: 'dots', 'progress'
-    // available reporters: https://npmjs.org/browse/keyword/karma-reporter
-    reporters: ['mocha'],
-
-
-    // web server port
-    port: 9876,
-
-
-    // enable / disable colors in the output (reporters and logs)
-    colors: true,
-
-
-    // level of logging
-    // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
-    logLevel: config.LOG_INFO,
-
-
-    // enable / disable watching file and executing tests whenever any file changes
-    autoWatch: true,
-
-
-    // start these browsers
-    // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
-    browsers: ['PhantomJS'],
-
-
-    // Continuous Integration mode
-    // if true, Karma captures browsers, runs the tests and exits
-    singleRun: false
-  });
-};
diff --git a/views/ngXosViews/sampleView/package.json b/views/ngXosViews/sampleView/package.json
deleted file mode 100644
index 0ffe32c..0000000
--- a/views/ngXosViews/sampleView/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
-  "name": "xos-sampleView",
-  "version": "1.0.0",
-  "description": "Angular Application for XOS, created with generator-xos",
-  "scripts": {
-    "prestart": "npm install && bower install",
-    "start": "gulp serve",
-    "prebuild": "npm install && bower install",
-    "build": "gulp",
-    "test": "karma start",
-    "test:ci": "karma start --single-run",
-    "lint": "eslint src/js/"
-  },
-  "keywords": [
-    "XOS",
-    "Angular",
-    "XOSlib"
-  ],
-  "author": "Matteo Scandolo",
-  "license": "MIT",
-  "dependencies": {},
-  "devDependencies": {
-    "autoprefixer": "^6.3.3",
-    "browser-sync": "^2.9.11",
-    "css-mqpacker": "^4.0.0",
-    "csswring": "^4.2.1",
-    "del": "^2.0.2",
-    "easy-mocker": "^1.2.0",
-    "eslint": "^1.8.0",
-    "eslint-plugin-angular": "linkmesrl/eslint-plugin-angular",
-    "gulp": "^3.9.0",
-    "gulp-angular-filesort": "^1.1.1",
-    "gulp-angular-templatecache": "^1.8.0",
-    "gulp-babel": "^5.3.0",
-    "gulp-concat": "^2.6.0",
-    "gulp-concat-util": "^0.5.5",
-    "gulp-eslint": "^1.0.0",
-    "gulp-inject": "^3.0.0",
-    "gulp-minify-html": "^1.0.4",
-    "gulp-ng-annotate": "^1.1.0",
-    "gulp-postcss": "^6.0.1",
-    "gulp-rename": "^1.2.2",
-    "gulp-replace": "^0.5.4",
-    "gulp-sass": "^2.2.0",
-    "gulp-uglify": "^1.4.2",
-    "http-proxy": "^1.12.0",
-    "ink-docstrap": "^0.5.2",
-    "jasmine-core": "~2.3.4",
-    "karma": "^0.13.14",
-    "karma-babel-preprocessor": "~5.2.2",
-    "karma-coverage": "^0.5.3",
-    "karma-jasmine": "~0.3.6",
-    "karma-mocha-reporter": "~1.1.1",
-    "karma-ng-html2js-preprocessor": "^0.2.0",
-    "karma-phantomjs-launcher": "~0.2.1",
-    "lodash": "^3.10.1",
-    "phantomjs": "^1.9.19",
-    "proxy-middleware": "^0.15.0",
-    "run-sequence": "^1.1.4",
-    "wiredep": "^3.0.0-beta",
-    "wrench": "^1.5.8"
-  }
-}
diff --git a/views/ngXosViews/sampleView/spec/sample.test.js b/views/ngXosViews/sampleView/spec/sample.test.js
deleted file mode 100644
index f0db699..0000000
--- a/views/ngXosViews/sampleView/spec/sample.test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-'use strict';
-
-describe('The User List', () => {
-  
-  var scope, element, isolatedScope, httpBackend;
-
-  beforeEach(module('xos.sampleView'));
-  beforeEach(module('templates'));
-
-  beforeEach(inject(function($httpBackend, $compile, $rootScope){
-    
-    httpBackend = $httpBackend;
-    // Setting up mock request
-    $httpBackend.expectGET('/api/core/users/?no_hyperlinks=1').respond([
-      {
-        email: 'teo@onlab.us',
-        firstname: 'Matteo',
-        lastname: 'Scandolo' 
-      }
-    ]);
-  
-    scope = $rootScope.$new();
-    element = angular.element('<users-list></users-list>');
-    $compile(element)(scope);
-    scope.$digest();
-    isolatedScope = element.isolateScope().vm;
-  }));
-
-  it('should load 1 users', () => {
-    httpBackend.flush();
-    expect(isolatedScope.users.length).toBe(1);
-    expect(isolatedScope.users[0].email).toEqual('teo@onlab.us');
-    expect(isolatedScope.users[0].firstname).toEqual('Matteo');
-    expect(isolatedScope.users[0].lastname).toEqual('Scandolo');
-  });
-
-});
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/src/css/main.css b/views/ngXosViews/sampleView/src/css/main.css
deleted file mode 100644
index e69de29..0000000
--- a/views/ngXosViews/sampleView/src/css/main.css
+++ /dev/null
diff --git a/views/ngXosViews/sampleView/src/index.html b/views/ngXosViews/sampleView/src/index.html
deleted file mode 100644
index d9905a4..0000000
--- a/views/ngXosViews/sampleView/src/index.html
+++ /dev/null
@@ -1,105 +0,0 @@
-<!-- browserSync -->
-<!-- bower:css -->
-<link rel="stylesheet" href="vendor/bootstrap-css/css/bootstrap.min.css" />
-<!-- endbower -->
-<!-- endcss -->
-<!-- inject:css -->
-<link rel="stylesheet" href="/css/main.css">
-<link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
-<!-- endinject -->
-
-<div ng-app="xos.sampleView" id="xosSampleView" class="container-fluid">
-  <div class="row">
-    <div class="col-xs-12">
-      <h1>Hi Matteo!</h1>
-      <h3>Welcome to you development environment.</h3>
-      <p>
-        We provided this environment to help you creating a custom view.
-      </p>
-      <p>
-        When the environment is running you will have an
-        <code>auto-reload</code>
-        feature enabled, so any time you update one of your files, the browser will be reloaded.
-      </p>
-      <p> <i>Note that is environment is already functional and that it is loading information from the XOS APIs and presenting them using the
-          <code>xos-table</code>
-          component.</i> 
-      </p>
-      <h3>Development notes:</h3>
-      <p>
-        This views are designed using
-        <a href="https://angularjs.org/" target="_blank">Angular Js</a>
-        version 1.4.7 and
-        <a href="http://getbootstrap.com/" target="_blank">Bootstrap</a>
-        3.3.6 is included.
-      </p>
-      <p>
-        We just want to remind you that this development environment provide you three helper command:
-        <ul>
-          <li>
-            <code>npm start</code>
-            - will start your setup (you should already be familiar with it)
-          </li>
-          <li>
-            <code>npm test</code>
-            - will execute your unit tests defined with
-            <a href="https://karma-runner.github.io/0.13/index.html" target="_blank">Karma</a>
-            and
-            <a href="jasmine.github.io" target="_blank">Jasmine</a>
-            . You can check the
-            <code>spec/</code>
-            folder to see an example of your first test.
-          </li>
-          <li>
-            <code>npm run build</code>
-            - will build your dashboard and make it available to XOS
-          </li>
-        </ul>
-      </p>
-      <h3>Helpers:</h3>
-      <p>
-        We provide a set of helpers that you can leverage in your dashboard:
-        <ul>
-          <li>
-            <code>xos.helpers</code>
-            - A set of
-            <a href="https://docs.angularjs.org/guide/services" target="_blank">Angular Services</a>
-          </li>
-          <li>
-            <code>xos.uiComponents</code>
-            - A set of
-            <a href="https://docs.angularjs.org/guide/directive" target="_blank">Angular Directives</a>
-          </li>
-          <li>
-            <code>xos.rest</code>
-            - A set of
-            <a href="https://docs.angularjs.org/api/ngResource/service/$resource" target="_blank">Angular $resources</a>
-          </li>
-        </ul>
-        To know more about this helpers you can naviate to
-        <code>/views/ngXosLib/</code>
-        and generate the documentation with
-        <code>npm run doc</code>
-      </p>
-      <h3>Example:</h3>
-    </div>
-  </div>
-  <div ui-view></div>
-</div>
-
-<!-- bower:js -->
-<script src="vendor/jquery/dist/jquery.js"></script>
-<script src="vendor/angular/angular.js"></script>
-<script src="vendor/angular-mocks/angular-mocks.js"></script>
-<script src="vendor/angular-ui-router/release/angular-ui-router.js"></script>
-<script src="vendor/angular-cookies/angular-cookies.js"></script>
-<script src="vendor/angular-animate/angular-animate.js"></script>
-<script src="vendor/angular-resource/angular-resource.js"></script>
-<script src="vendor/lodash/lodash.js"></script>
-<script src="vendor/bootstrap-css/js/bootstrap.min.js"></script>
-<!-- endbower -->
-<!-- endjs -->
-<!-- inject:js -->
-<script src="/../../../xos/core/xoslib/static/js/vendor/ngXosHelpers.js"></script>
-<script src="/.tmp/main.js"></script>
-<!-- endinject -->
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/src/js/main.js b/views/ngXosViews/sampleView/src/js/main.js
deleted file mode 100644
index b07768a..0000000
--- a/views/ngXosViews/sampleView/src/js/main.js
+++ /dev/null
@@ -1,34 +0,0 @@
-'use strict';
-
-angular.module('xos.sampleView', [
-  'ngResource',
-  'ngCookies',
-  'ui.router',
-  'xos.helpers'
-])
-.config(($stateProvider) => {
-  $stateProvider
-  .state('user-list', {
-    url: '/',
-    template: '<users-list></users-list>'
-  });
-})
-.config(function($httpProvider){
-  $httpProvider.interceptors.push('NoHyperlinks');
-})
-.directive('usersList', function(){
-  return {
-    restrict: 'E',
-    scope: {},
-    bindToController: true,
-    controllerAs: 'vm',
-    templateUrl: 'templates/users-list.tpl.html',
-    controller: function(Users){
-
-      this.tableConfig = {
-        resource: 'Users'
-      };
-      
-    }
-  };
-});
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/src/sass/main.scss b/views/ngXosViews/sampleView/src/sass/main.scss
deleted file mode 100644
index 76ed61e..0000000
--- a/views/ngXosViews/sampleView/src/sass/main.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-@import '../../../../style/sass/lib/_variables.scss';
-
-#xosSampleView {
-  
-}
\ No newline at end of file
diff --git a/views/ngXosViews/sampleView/src/templates/users-list.tpl.html b/views/ngXosViews/sampleView/src/templates/users-list.tpl.html
deleted file mode 100644
index 0641dd9..0000000
--- a/views/ngXosViews/sampleView/src/templates/users-list.tpl.html
+++ /dev/null
@@ -1 +0,0 @@
-<xos-smart-table config="vm.tableConfig"></xos-smart-table>
\ No newline at end of file