Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets.component.ts	(nonexistent)
@@ -1,12 +0,0 @@
-import {Component} from '@angular/core';
- 
-@Component({
-    selector: 'deposit-datasets',
-    template: `
-        <deposit    [compatibility]="'Registry of Research Data Repository'" [requestFor]="'Research Data'"></deposit>
-    `
-})
-
-export class DepositDatasetsComponent {
-
-}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications.component.ts	(nonexistent)
@@ -1,16 +0,0 @@
-import {Component} from '@angular/core';
-
-@Component({
-    selector: 'deposit-publications',
-    template: `
-        <deposit [compatibility]="'OpenDOAR'" [requestFor]="'Publications'"></deposit>
-        <h3>Or locate data provider in map</h3>
-        <div class="uk-margin-top">
-          <i-frame [url]="mapUrl"width="100%" height="900"></i-frame>
-        </div>
-    `
-})
-
-export class DepositPublicationsComponent {
-  public mapUrl ="https://beta.openaire.eu/stats/markers-demo.html";
-}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets-routing.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets-routing.module.ts	(nonexistent)
@@ -1,15 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { DepositDatasetsComponent } from './depositDatasets.component';
-import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
-
-@NgModule({
-  imports: [
-    RouterModule.forChild([
-     	{ path: '', component: DepositDatasetsComponent }
-
-    ])
-  ]
-})
-export class DepositDatasetsRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResult.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResult.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResult.component.ts	(nonexistent)
@@ -1,12 +0,0 @@
-import {Component} from '@angular/core';
-
-@Component({
-    selector: 'deposit-datasets-result',
-    template: `
-        <deposit-result [compatibility]="'Registry of Research Data Repository'" [requestFor]="'Research Data'"></deposit-result>
-    `
-})
-
-export class DepositDatasetsResultComponent {
-
-}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications-routing.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications-routing.module.ts	(nonexistent)
@@ -1,14 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { DepositPublicationsComponent } from './depositPublications.component';
-
-@NgModule({
-  imports: [
-    RouterModule.forChild([
-      { path: '', component: DepositPublicationsComponent }
-
-    ])
-  ]
-})
-export class DepositPublicationsRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResults-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResults-routing.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResults-routing.module.ts	(nonexistent)
@@ -1,14 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
-
-@NgModule({
-  imports: [
-    RouterModule.forChild([
-     	{ path: '', component: DepositDatasetsResultComponent }
-
-    ])
-  ]
-})
-export class DepositDatasetsResultsRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResult.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResult.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResult.component.ts	(nonexistent)
@@ -1,12 +0,0 @@
-import {Component} from '@angular/core';
-
-@Component({
-    selector: 'deposit-publications-result',
-    template: `
-        <deposit-result [compatibility]="'OpenDOAR'" [requestFor]="'Publications'"></deposit-result>
-    `
-})
-
-export class DepositPublicationsResultComponent {
-
-}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResults.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResults.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasetsResults.module.ts	(nonexistent)
@@ -1,27 +0,0 @@
-import { NgModule }            from '@angular/core';
-import { CommonModule }        from '@angular/common';
-import { FormsModule }         from '@angular/forms';
-
-import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
-
-import {DepositDatasetsResultsRoutingModule} from './depositDatasetsResults-routing.module';
-import {DepoditModule} from './deposit.module';
-
-@NgModule({
-  imports: [
-    CommonModule, FormsModule,
-    DepoditModule,
-    DepositDatasetsResultsRoutingModule
-  ],
-  declarations: [
-
-    DepositDatasetsResultComponent,
-
-  ],
-  exports: [
-    DepositDatasetsResultComponent,
-   ],
-  providers:    [
-  ]
-})
-export class DepositDatasetsResultsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResult-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResult-routing.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResult-routing.module.ts	(nonexistent)
@@ -1,14 +0,0 @@
-import { NgModule } from '@angular/core';
-import { RouterModule } from '@angular/router';
-
-import { DepositPublicationsResultComponent } from './depositPublicationsResult.component';
-
-@NgModule({
-  imports: [
-    RouterModule.forChild([
-      { path: '', component: DepositPublicationsResultComponent }
-
-    ])
-  ]
-})
-export class DepositPublicationsResultRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResults.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResults.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublicationsResults.module.ts	(nonexistent)
@@ -1,27 +0,0 @@
-import { NgModule }            from '@angular/core';
-import { CommonModule }        from '@angular/common';
-import { FormsModule }         from '@angular/forms';
-
-import { DepositPublicationsResultComponent } from './depositPublicationsResult.component';
-
-import {DepositPublicationsResultRoutingModule} from './depositPublicationsResult-routing.module';
-import {DepoditModule} from './deposit.module';
-
-@NgModule({
-  imports: [
-    CommonModule, FormsModule,
-    DepoditModule,
-    DepositPublicationsResultRoutingModule
-  ],
-  declarations: [
-
-    DepositPublicationsResultComponent,
-
-  ],
-  exports: [
-    DepositPublicationsResultComponent,
-   ],
-  providers:    [
-  ]
-})
-export class DepositPublicationsResultsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositDatasets.module.ts	(nonexistent)
@@ -1,28 +0,0 @@
-import { NgModule }            from '@angular/core';
-import { CommonModule }        from '@angular/common';
-import { FormsModule }         from '@angular/forms';
-
-import { DepositDatasetsComponent } from './depositDatasets.component';
-import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
-
-import {DepositDatasetsRoutingModule} from './depositDatasets-routing.module';
-import {DepoditModule} from './deposit.module';
-
-@NgModule({
-  imports: [
-    CommonModule, FormsModule,
-    DepoditModule,
-    DepositDatasetsRoutingModule
-  ],
-  declarations: [
-
-    DepositDatasetsComponent,
-
-  ],
-  exports: [
-    DepositDatasetsComponent,
-   ],
-  providers:    [
-  ]
-})
-export class DepositDatasetsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/depositPublications.module.ts	(nonexistent)
@@ -1,28 +0,0 @@
-import { NgModule }            from '@angular/core';
-import { CommonModule }        from '@angular/common';
-import { FormsModule }         from '@angular/forms';
-
-import { DepositPublicationsComponent } from './depositPublications.component';
-
-import {DepositPublicationsRoutingModule} from './depositPublications-routing.module';
-import {DepoditModule} from './deposit.module';
-import {IFrameModule} from '../utils/iframe.module';
-
-@NgModule({
-  imports: [
-    CommonModule, FormsModule,
-    DepoditModule,
-    DepositPublicationsRoutingModule,IFrameModule
-  ],
-  declarations: [
-
-    DepositPublicationsComponent,
-
-  ],
-  exports: [
-    DepositPublicationsComponent,
-   ],
-  providers:    [
-  ]
-})
-export class DepositPublicationsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/package.json
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/package.json	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/package.json	(revision 45786)
@@ -75,21 +75,16 @@
     "@types/express": "^4.0.32",
     "@types/express-serve-static-core": "^4.0.33",
     "@types/hammerjs": "^2.0.32",
-    "@types/memory-cache": "0.0.29",
     "@types/mime": "0.0.28",
     "@types/node": "^6.0.38",
     "@types/serve-static": "^1.7.27",
     "@types/webfontloader": "^1.6.27",
     "@ngtools/webpack": "~1.1.7",
-    "accepts": "^1.3.3",
     "angular2-template-loader": "^0.4.0",
     "awesome-typescript-loader": "^2.2.4",
     "cookie-parser": "^1.4.3",
-    "express-interceptor": "^1.2.0",
-    "iltorb": "^1.0.13",
     "imports-loader": "^0.6.5",
     "json-loader": "^0.5.4",
-    "memory-cache": "^0.1.6",
     "nodemon": "^1.10.0",
     "raw-loader": "^0.5.1",
     "reflect-metadata": "0.1.8",
@@ -98,7 +93,6 @@
     "ts-helpers": "^1.1.2",
     "ts-node": "^1.3.0",
     "typescript": "2.0.2",
-    "uglify-js" : "^2.7.4",
     "v8-lazy-parse-webpack-plugin": "^0.3.0",
     "webpack": "2.1.0-beta.27",
     "webpack-bundle-analyzer": "1.4.1",
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/app-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/app-routing.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/app-routing.module.ts	(revision 45786)
@@ -22,20 +22,20 @@
     .then(mod => mod[(process.env.AOT ? 'OrganizationModuleNgFactory' : 'OrganizationModule')]);
 }
 export function getDepositDatasetsModule() {
-  return System.import('./deposit/depositDatasets.module' + (process.env.AOT ? '.ngfactory' : ''))
+  return System.import('./deposit/datasets/depositDatasets.module' + (process.env.AOT ? '.ngfactory' : ''))
     .then(mod => mod[(process.env.AOT ? 'DepositDatasetsModuleNgFactory' : 'DepositDatasetsModule')]);
 }
 export function getDepositDatasetsResultsModule() {
-  return System.import('./deposit/depositDatasetsResults.module' + (process.env.AOT ? '.ngfactory' : ''))
+  return System.import('./deposit/datasets/depositDatasetsResults.module' + (process.env.AOT ? '.ngfactory' : ''))
     .then(mod => mod[(process.env.AOT ? 'DepositDatasetsResultsModuleNgFactory' : 'DepositDatasetsResultsModule')]);
 }
 
 export function getDepositPublicationsModule() {
-  return System.import('./deposit/depositPublications.module' + (process.env.AOT ? '.ngfactory' : ''))
+  return System.import('./deposit/publications/depositPublications.module' + (process.env.AOT ? '.ngfactory' : ''))
     .then(mod => mod[(process.env.AOT ? 'DepositPublicationsModuleNgFactory' : 'DepositPublicationsModule')]);
 }
 export function getDepositPublicationsResultsModule() {
-  return System.import('./deposit/depositPublicationsResults.module' + (process.env.AOT ? '.ngfactory' : ''))
+  return System.import('./deposit/publications/depositPublicationsResults.module' + (process.env.AOT ? '.ngfactory' : ''))
     .then(mod => mod[(process.env.AOT ? 'DepositPublicationsResultsModuleNgFactory' : 'DepositPublicationsResultsModule')]);
 }
 export function getDataProviderModule() {
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/utils/routerHelper.class.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/utils/routerHelper.class.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/utils/routerHelper.class.ts	(revision 45786)
@@ -0,0 +1,27 @@
+
+
+
+export class RouterHelper {
+  //Use this class function to create queryParams Objects in format {key1:value1} or {key1:value1,key2:value2,key3:value3,...} for  multiple parameters
+  //  <a  [queryParams]="RouterHelper.createQueryParam(filter.filterId,value.id)" routerLinkActive="router-link-active" [routerLink]=baseUrl>Link</a>
+  public createQueryParam(key:string,value:string){
+    var obj ={};
+    obj[key]=value;
+    return obj;
+
+  }
+  public createQueryParams(keys:string[],values:string[]){
+    var obj ={};
+    if(!keys || !values || keys.length != values.length){
+      return obj;
+    }else{
+      for(var i=0; i< keys.length; i++){
+          obj[keys[i]]=values[i];
+      }
+    }
+    return obj;
+
+  }
+
+
+}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/server.aot.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/server.aot.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/server.aot.ts	(revision 45786)
@@ -76,16 +76,30 @@
 app.get('/data.json', serverApi);
 app.use('/api', createTodoApi());
 
+process.on('uncaughtException', function (err) { 
+  console.error('Catching uncaught errors to avoid process crash', err);
+});
+
 function ngApp(req, res) {
-  res.render('index', {
-    req,
-    res,
-    // time: true, // use this to determine what part of your app is slow only in development
-    preboot: false,
-    baseUrl: '/',
-    requestUrl: req.originalUrl,
-    originUrl: `http://localhost:${ app.get('port') }`
+
+  function onHandleError(parentZoneDelegate, currentZone, targetZone, error)  {
+    console.warn('Error in SSR, serving for direct CSR');
+    res.sendFile('index.html', {root: './src'});
+    return false;
+  }
+
+  Zone.current.fork({ name: 'CSR fallback', onHandleError }).run(() => {
+    res.render('index', {
+      req,
+      res,
+      // time: true, // use this to determine what part of your app is slow only in development
+      preboot: false,
+      baseUrl: '/',
+      requestUrl: req.originalUrl,
+      originUrl: `http://localhost:${ app.get('port') }`
+    });
   });
+
 }
 
 /**
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/find/search.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/find/search.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/find/search.component.ts	(revision 45786)
@@ -1,4 +1,4 @@
-import {Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';
+import {Component, Input, Output, EventEmitter, ViewChild, ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';
 import {Observable}       from 'rxjs/Observable';
 import {ActivatedRoute, Router} from '@angular/router';
 import {Location} from '@angular/common';
@@ -22,9 +22,10 @@
 import {SearchFields} from '../../utils/properties/searchFields';
 
 @Component({
+  changeDetection: ChangeDetectionStrategy.Default,
+  encapsulation: ViewEncapsulation.Emulated,
     selector: 'search-find',
     template: `
-
     <div  class="uk-margin-top">
       <div class="page-header">
           <h1>{{pageTitle}}</h1>
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/searchUtils/browseStatistic.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/searchUtils/browseStatistic.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/searchUtils/browseStatistic.component.ts	(revision 45786)
@@ -9,7 +9,7 @@
 import {SearchFields} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
 import {SearchUtilsClass} from '../searchUtils/searchUtils.class';
-
+import {RouterHelper} from '../../utils/routerHelper.class';
 @Component({
     selector: 'browse-statistic',
     template: `
@@ -18,20 +18,22 @@
        <h4 class="tm-article-subtitle">{{filter.title}}</h4>
       <div *ngIf="filter.values.length == 0" class="uk-alert uk-alert-info" role="alert">No {{filter.title}} statistics found</div>
       <ul *ngIf="filter.values.length > 0 && !viewAll" class="uk-list uk-list-line ">
-        <li *ngFor= "let value of filter.values.slice(0,5)"><a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a></li>
+        <li *ngFor= "let value of filter.values.slice(0,5)"><!--a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a-->
+          <a  [queryParams]="routerHelper.createQueryParam(filter.filterId,value.id)" routerLinkActive="router-link-active" [routerLink]=baseUrl>{{_formatName(value)}} ({{value.number}})</a>
+        </li>
         <li *ngIf= " filter.values.length > 5 && !viewAll " (click)="viewAll=true;">
           <span  ><span class="uk-text-muted clickable">View more </span><a><i class="uk-icon-toggle-right"></i></a></span>
         </li>
       </ul>
       <ul *ngIf="filter.values.length > 0 && viewAll" class="uk-list uk-list-line   searchFilterBoxValues">
-        <li *ngFor= "let value of filter.values"><a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a></li>
+        <li *ngFor= "let value of filter.values"><!--a [href]="baseUrl+'?'+filter.filterId+'='+value.id">{{_formatName(value)}} ({{value.number}})</a-->
+        <a  [queryParams]="routerHelper.createQueryParam(filter.filterId,value.id)" routerLinkActive="router-link-active" [routerLink]=baseUrl>{{_formatName(value)}} ({{value.number}})</a>
+        </li>
         <li *ngIf= " filter.values.length > 5 && viewAll " (click)="viewAll=false;">
           <span  ><span class="uk-text-muted clickable">View less </span><a><i class="uk-icon-toggle-up"></i></a></span>
         </li>
       </ul>
 
-
-
     `
 
 })
@@ -41,7 +43,7 @@
   @Input() public filter:any = "";
   private _maxCharacters = 30;
   public viewAll = false;
-
+  public routerHelper:RouterHelper = new RouterHelper();
   constructor () {
 
   }
@@ -51,6 +53,7 @@
 
   }
 
+
   private _formatName(value){
     return (((value.name+" ("+value.number+")").length >this._maxCharacters)?(value.name.substring(0,(this._maxCharacters - (" ("+value.number+")").length - ('...').length))+"..."):value.name)
   }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/searchUtils/browseEntities.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/searchUtils/browseEntities.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/searchPages/searchUtils/browseEntities.module.ts	(revision 45786)
@@ -1,6 +1,7 @@
 import { NgModule}            from '@angular/core';
 import { CommonModule }        from '@angular/common';
 import { FormsModule }         from '@angular/forms';
+import { RouterModule } from '@angular/router';
 
 import {RefineFieldResultsServiceModule} from '../../services/refineFieldResultsService.module';
 
@@ -11,7 +12,7 @@
 @NgModule({
   imports: [
     CommonModule, FormsModule,
-    RefineFieldResultsServiceModule
+    RefineFieldResultsServiceModule, RouterModule
   ],
   declarations: [
       BrowseEntitiesComponent,
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResults-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResults-routing.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResults-routing.module.ts	(revision 45786)
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
+
+@NgModule({
+  imports: [
+    RouterModule.forChild([
+     	{ path: '', component: DepositDatasetsResultComponent }
+
+    ])
+  ]
+})
+export class DepositDatasetsResultsRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResult.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResult.component.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResult.component.ts	(revision 45786)
@@ -0,0 +1,12 @@
+import {Component} from '@angular/core';
+
+@Component({
+    selector: 'deposit-datasets-result',
+    template: `
+        <deposit-result [compatibility]="'Registry of Research Data Repository'" [requestFor]="'Research Data'"></deposit-result>
+    `
+})
+
+export class DepositDatasetsResultComponent {
+
+}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets.component.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets.component.ts	(revision 45786)
@@ -0,0 +1,12 @@
+import {Component} from '@angular/core';
+ 
+@Component({
+    selector: 'deposit-datasets',
+    template: `
+        <deposit    [compatibility]="'Registry of Research Data Repository'" [requestFor]="'Research Data'"></deposit>
+    `
+})
+
+export class DepositDatasetsComponent {
+
+}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets.module.ts	(revision 45786)
@@ -0,0 +1,28 @@
+import { NgModule }            from '@angular/core';
+import { CommonModule }        from '@angular/common';
+import { FormsModule }         from '@angular/forms';
+
+import { DepositDatasetsComponent } from './depositDatasets.component';
+import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
+
+import {DepositDatasetsRoutingModule} from './depositDatasets-routing.module';
+import {DepoditModule} from '../deposit.module';
+
+@NgModule({
+  imports: [
+    CommonModule, FormsModule,
+    DepoditModule,
+    DepositDatasetsRoutingModule
+  ],
+  declarations: [
+
+    DepositDatasetsComponent,
+
+  ],
+  exports: [
+    DepositDatasetsComponent,
+   ],
+  providers:    [
+  ]
+})
+export class DepositDatasetsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResults.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResults.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasetsResults.module.ts	(revision 45786)
@@ -0,0 +1,27 @@
+import { NgModule }            from '@angular/core';
+import { CommonModule }        from '@angular/common';
+import { FormsModule }         from '@angular/forms';
+
+import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
+
+import {DepositDatasetsResultsRoutingModule} from './depositDatasetsResults-routing.module';
+import {DepoditModule} from '../deposit.module';
+
+@NgModule({
+  imports: [
+    CommonModule, FormsModule,
+    DepoditModule,
+    DepositDatasetsResultsRoutingModule
+  ],
+  declarations: [
+
+    DepositDatasetsResultComponent,
+
+  ],
+  exports: [
+    DepositDatasetsResultComponent,
+   ],
+  providers:    [
+  ]
+})
+export class DepositDatasetsResultsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets-routing.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/datasets/depositDatasets-routing.module.ts	(revision 45786)
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { DepositDatasetsComponent } from './depositDatasets.component';
+import { DepositDatasetsResultComponent } from './depositDatasetsResult.component';
+
+@NgModule({
+  imports: [
+    RouterModule.forChild([
+     	{ path: '', component: DepositDatasetsComponent }
+
+    ])
+  ]
+})
+export class DepositDatasetsRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResults.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResults.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResults.module.ts	(revision 45786)
@@ -0,0 +1,27 @@
+import { NgModule }            from '@angular/core';
+import { CommonModule }        from '@angular/common';
+import { FormsModule }         from '@angular/forms';
+
+import { DepositPublicationsResultComponent } from './depositPublicationsResult.component';
+
+import {DepositPublicationsResultRoutingModule} from './depositPublicationsResult-routing.module';
+import {DepoditModule} from '../deposit.module';
+
+@NgModule({
+  imports: [
+    CommonModule, FormsModule,
+    DepoditModule,
+    DepositPublicationsResultRoutingModule
+  ],
+  declarations: [
+
+    DepositPublicationsResultComponent,
+
+  ],
+  exports: [
+    DepositPublicationsResultComponent,
+   ],
+  providers:    [
+  ]
+})
+export class DepositPublicationsResultsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResult-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResult-routing.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResult-routing.module.ts	(revision 45786)
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { DepositPublicationsResultComponent } from './depositPublicationsResult.component';
+
+@NgModule({
+  imports: [
+    RouterModule.forChild([
+      { path: '', component: DepositPublicationsResultComponent }
+
+    ])
+  ]
+})
+export class DepositPublicationsResultRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications-routing.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications-routing.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications-routing.module.ts	(revision 45786)
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+
+import { DepositPublicationsComponent } from './depositPublications.component';
+
+@NgModule({
+  imports: [
+    RouterModule.forChild([
+      { path: '', component: DepositPublicationsComponent }
+
+    ])
+  ]
+})
+export class DepositPublicationsRoutingModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResult.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResult.component.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublicationsResult.component.ts	(revision 45786)
@@ -0,0 +1,12 @@
+import {Component} from '@angular/core';
+
+@Component({
+    selector: 'deposit-publications-result',
+    template: `
+        <deposit-result [compatibility]="'OpenDOAR'" [requestFor]="'Publications'"></deposit-result>
+    `
+})
+
+export class DepositPublicationsResultComponent {
+
+}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications.component.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications.component.ts	(revision 45786)
@@ -0,0 +1,16 @@
+import {Component} from '@angular/core';
+
+@Component({
+    selector: 'deposit-publications',
+    template: `
+        <deposit [compatibility]="'OpenDOAR'" [requestFor]="'Publications'"></deposit>
+        <h3>Or locate data provider in map</h3>
+        <div class="uk-margin-top">
+          <i-frame [url]="mapUrl"width="100%" height="900"></i-frame>
+        </div>
+    `
+})
+
+export class DepositPublicationsComponent {
+  public mapUrl ="https://beta.openaire.eu/stats/markers-demo.html";
+}
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications.module.ts	(nonexistent)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/deposit/publications/depositPublications.module.ts	(revision 45786)
@@ -0,0 +1,28 @@
+import { NgModule }            from '@angular/core';
+import { CommonModule }        from '@angular/common';
+import { FormsModule }         from '@angular/forms';
+
+import { DepositPublicationsComponent } from './depositPublications.component';
+
+import {DepositPublicationsRoutingModule} from './depositPublications-routing.module';
+import {DepoditModule} from '../deposit.module';
+import {IFrameModule} from '../../utils/iframe.module';
+
+@NgModule({
+  imports: [
+    CommonModule, FormsModule,
+    DepoditModule,
+    DepositPublicationsRoutingModule,IFrameModule
+  ],
+  declarations: [
+
+    DepositPublicationsComponent,
+
+  ],
+  exports: [
+    DepositPublicationsComponent,
+   ],
+  providers:    [
+  ]
+})
+export class DepositPublicationsModule { }
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/app.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/app.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/app.module.ts	(revision 45786)
@@ -1,4 +1,3 @@
-//import {MaterialModule} from '@angular/material';
 import { NgModule } from '@angular/core';
 import { FormsModule } from '@angular/forms';
 
@@ -9,7 +8,6 @@
 import { AppComponent, XLargeDirective } from './app.component';
 
 import {SharedComponentsModule} from './sharedComponents/sharedComponents.module'; //navbar
-
 import { ErrorModule } from './error/error.module';
 import { CacheService } from './shared/cache.service';
 
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/resultLanding.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/resultLanding.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/resultLanding.module.ts	(revision 45786)
@@ -2,6 +2,7 @@
 import { NgModule}            from '@angular/core';
 import { CommonModule }        from '@angular/common';
 import { FormsModule }         from '@angular/forms';
+import { RouterModule } from '@angular/router';
 
 import {ShowAuthorsComponent} from './showAuthors.component';
 import {ShowIdentifiersComponent} from './showIdentifiers.component';
@@ -10,7 +11,7 @@
 
 @NgModule({
   imports: [
-    CommonModule, FormsModule,
+    CommonModule, FormsModule, RouterModule
   ],
   declarations: [
    ShowAuthorsComponent,ShowIdentifiersComponent,ShowSubjectsComponent
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/dataset/dataset.component.html
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/dataset/dataset.component.html	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/dataset/dataset.component.html	(revision 45786)
@@ -1,6 +1,6 @@
 <div class="uk-container uk-margin-top dataset">
     <!--div class="container-header" -->
-
+ 
     <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning" role="alert">{{warningMessage}}</div>
     <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger" role="alert">{{errorMessage}}</div>
 
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/dataset/dataset.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/dataset/dataset.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/dataset/dataset.module.ts	(revision 45786)
@@ -2,6 +2,7 @@
 import { NgModule}            from '@angular/core';
 import { CommonModule }        from '@angular/common';
 import { FormsModule }         from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
 
 import { DatasetService} from './dataset.service';
 import { DatasetComponent } from './dataset.component';
@@ -15,7 +16,7 @@
 @NgModule({
   imports: [
     //MaterialModule.forRoot(),
-    CommonModule, FormsModule, LandingModule,
+    CommonModule, FormsModule,SharedModule, LandingModule,
     ResultLandingModule, DatasetRoutingModule, MetricsModule, IFrameModule
   ],
   declarations: [
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/person/person.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/person/person.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/person/person.module.ts	(revision 45786)
@@ -8,12 +8,16 @@
 
 import { LandingModule } from '../landing.module';
 import {SearchResultsModule } from '../../searchPages/searchUtils/searchResults.module';
+import {DatasetsServiceModule} from '../../services/datasetsService.module';
+import {PublicationsServiceModule} from '../../services/publicationsService.module';
+
 @NgModule({
   imports: [
     CommonModule, FormsModule,
     LandingModule,
     PersonRoutingModule,
-    SearchResultsModule
+    SearchResultsModule,
+    DatasetsServiceModule, PublicationsServiceModule
   ],
   declarations: [
   PersonComponent
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/publication/publication.module.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/publication/publication.module.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/publication/publication.module.ts	(revision 45786)
@@ -2,6 +2,7 @@
 import { NgModule}            from '@angular/core';
 import { CommonModule }        from '@angular/common';
 import { FormsModule }         from '@angular/forms';
+import { SharedModule } from '../../shared/shared.module';
 
 import { PublicationService} from './publication.service';
 import { PublicationComponent } from './publication.component';
@@ -16,7 +17,7 @@
 
 @NgModule({
   imports: [
-    CommonModule, FormsModule, LandingModule,
+    CommonModule, FormsModule, LandingModule,SharedModule, 
     ResultLandingModule, PublicationRoutingModule, MetricsModule, IFrameModule, AltMetricsModule
   ],
   declarations: [
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/showAuthors.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/showAuthors.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/landingPages/showAuthors.component.ts	(revision 45786)
@@ -8,7 +8,8 @@
                 <a class="uk-text-muted" (click)="showAll = !showAll;">View less authors</a>
             </div>
             <span *ngFor="let item of authors.slice(0,30)">
-                <a href="{{item['url']}}">
+                  <a href="{{item['url']}}">
+                  <!--a routerLinkActive="router-link-active" routerLink="/search/person" [queryParams]="{personId: 'datacite____::9da3a037961b36a634fcd40ab0bf6535'}" -->
                     {{item['name']}};
                 </a>
             </span>
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/sharedComponents/navigationBar.component.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/sharedComponents/navigationBar.component.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/app/sharedComponents/navigationBar.component.ts	(revision 45786)
@@ -5,78 +5,76 @@
   selector: 'navbar',
   template: `
 
-
-
-
-
-
-
   <nav class="uk-navbar">
 
                                   <ul class="uk-navbar-nav uk-hidden-small">
-                                      <li class="uk-active"><a href="/" class="uk-logo uk-navbar-item">
+                                      <li class="uk-active"><a routerLinkActive="router-link-active" routerLink="" class="uk-logo uk-navbar-item">
                                         <img src="assets/newlogo.png" alt="OpenAIRE" class="uk-responsive-height"></a>
                                       </li>
-                                      <li class="uk-active"><a href="/search/find"><i class="uk-icon-home"></i></a></li>
+                                      <li class="uk-active"><a routerLinkActive="router-link-active" routerLink="search/find"><i class="uk-icon-home"></i></a></li>
                                       <li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
-                                          <a href="/search/find">Search</a>
+                                          <a routerLinkActive="router-link-active" routerLink="search/find">Search</a>
 
                                           <div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
                                               <ul class="uk-nav uk-nav-navbar">
                                                   <!--li class="uk-nav-header">Search For</li-->
-                                                  <li><a href="/search/find/publications">Publications</a></li>
-                                                  <li><a href="/search/find/datasets">Datasets</a></li>
-                                                  <li><a href="/search/find/projects">Projects</a></li>
-                                                  <li><a href="/search/find/dataproviders">Data Providers</a></li>
-                                                  <li><a href="/search/find/organizations">Organizations</a></li>
-                                                  <li><a href="/search/find/people">People</a></li>
-                                                  <!--li class="uk-nav-divider"></li>
-                                                  <li class="uk-nav-header">Data Providers</li>
-                                                  <li><a href="/search/data-providers">Compatible Data Providers</a></li>
-                                                  <li><a href="/search/entity-registries">Entity Registries</a></li-->
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/find/publications">Publications</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/find/datasets">Datasets</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/find/projects">Projects</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/find/dataproviders">Data Providers</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/find/organizations">Organizations</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/find/people">People</a></li>
+                                                  <li class="uk-nav-divider"></li>
+                                                  <li><a    [queryParams]="{articleId: 'od_______908::3a5b2885656a91307156325644e73b92'}" routerLinkActive="router-link-active" routerLink="search/publication" >Publication </a></li>
+                                                  <li><a    [queryParams]="{datasetId: 'datacite____::430ac1c41b7f99b7b543ef737dc41a74'}" routerLinkActive="router-link-active" routerLink="search/dataset" >Dataset </a></li>
+                                                  <li><a   [queryParams]="{projectId: 'corda_______::2c37878a0cede85dbbd1081bb9b4a2f8'}" routerLinkActive="router-link-active" routerLink="search/project" >Project </a></li>
+                                                  <li><a   [queryParams]="{personId: 'datacite____::9da3a037961b36a634fcd40ab0bf6535'}" routerLinkActive="router-link-active" routerLink="search/person" >Person </a></li>
+                                                  <li><a   [queryParams]="{organizationId: 'dedup_wf_001::f686277c34bf457bbdf19e03589b5e81'}" routerLinkActive="router-link-active" routerLink="search/organization" >Organization </a></li>
+                                                  <li><a   [queryParams]="{datasourceId: 'opendoar____::798ed7d4ee7138d49b8828958048130a'}" routerLinkActive="router-link-active" routerLink="search/dataprovider" >Data Provider </a></li>
+
                                                </ul>
                                           </div>
 
                                       </li>
                                       <li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
-                                          <a href="/search/data-providers" >Data Providers</a>
+                                          <a routerLinkActive="router-link-active" routerLink="search/data-providers" >Data Providers</a>
 
                                           <div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
                                               <ul class="uk-nav uk-nav-navbar">
                                                   <!--li class="uk-nav-header">Search for Data Providers</li-->
-                                                  <li><a href="/search/data-providers">Compatible Data Providers</a></li>
-                                                  <li><a href="/search/entity-registries">Entity Registries</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/data-providers">Compatible Data Providers</a></li>
+                                                  <li><a routerLinkActive="router-link-active" routerLink="search/entity-registries">Entity Registries</a></li>
                                                </ul>
                                           </div>
 
                                       </li>
                                       <li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
-                                          <a href="/search/advanced/publications">Advanced Search</a>
+                                          <a routerLinkActive="router-link-active" routerLink="search/advanced/publications">Advanced Search</a>
 
                                           <div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
                                               <ul class="uk-nav uk-nav-navbar">
-                                                <li><a href="/search/advanced/publications">Advanced Search Publications</a></li>
-                                                <li><a href="/search/advanced/datasets">Advanced Search Research Data</a></li>
-                                                <li><a href="/search/advanced/projects">Advanced Search Projects</a></li>
-                                                <li><a href="/search/advanced/dataproviders">Advanced Search Data Providers</a></li>
-                                                <li><a href="/search/advanced/organizations">Advanced Search Organizations</a></li>
-                                                <li><a href="/search/advanced/people">Advanced Search People</a></li>
+                                                <li><a routerLinkActive="router-link-active" routerLink="search/advanced/publications">Advanced Search Publications</a></li>
+                                                <li><a routerLinkActive="router-link-active" routerLink="search/advanced/datasets">Advanced Search Research Data</a></li>
+                                                <li><a routerLinkActive="router-link-active" routerLink="search/advanced/projects">Advanced Search Projects</a></li>
+                                                <li><a routerLinkActive="router-link-active" routerLink="search/advanced/dataproviders">Advanced Search Data Providers</a></li>
+                                                <li><a routerLinkActive="router-link-active" routerLink="search/advanced/organizations">Advanced Search Organizations</a></li>
+                                                <li><a routerLinkActive="router-link-active" routerLink="search/advanced/people">Advanced Search People</a></li>
                                               </ul>
                                           </div>
 
                                       </li>
                                       <li class="uk-parent" data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
-                                          <a  href="/deposit-publications" >Deposit</a>
+                                          <a  routerLinkActive="router-link-active" routerLink="deposit-publications" >Deposit</a>
 
                                           <div class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom" aria-hidden="true" style="top: 40px; left: 0px;" tabindex="">
                                               <ul class="uk-nav uk-nav-navbar">
-                                                <li><a  href="/deposit-publications">Deposit Publications</a></li>
-                                                <li><a   href="/deposit-datasets">Deposit Research Data</a></li>
+                                                <li><a  routerLinkActive="router-link-active" routerLink="deposit-publications">Deposit Publications</a></li>
+                                                <li><a   routerLinkActive="router-link-active" routerLink="deposit-datasets">Deposit Research Data</a></li>
                                               </ul>
                                           </div>
 
                                       </li>
-                                   
+
                                   </ul>
 
                                   <a href="#offcanvas-mainmenu" class="uk-navbar-toggle uk-visible-small" data-uk-offcanvas="{mode:'slide'}"></a>
@@ -92,21 +90,21 @@
                                                               <div class="uk-offcanvas-bar uk-offcanvas-bar-show" mode="push">
                                                               <!--ul class="uk-navbar-nav uk-hidden-small"-->
                                                               <ul class="uk-nav uk-nav-offcanvas uk-nav-parent-icon" data-uk-nav="{multiple:true}">
-                                                                  <!--li class="uk-active"><a href="/" class="uk-logo uk-navbar-item">
+                                                                  <!--li class="uk-active"><a routerLinkActive="router-link-active" routerLink="" class="uk-logo uk-navbar-item">
                                                                     <img src="assets/newlogo.png" alt="OpenAIRE" class="uk-responsive-height"></a>
                                                                   </li-->
-                                                                  <li class="uk-active"><a href="/search/find"><i class="uk-icon-home"></i></a></li>
+                                                                  <li class="uk-active"><a routerLinkActive="router-link-active" routerLink="search/find"><i class="uk-icon-home"></i></a></li>
 
                                                                   <li class=""  aria-expanded="false"  >
                                                                       <a href="#">Search</a>
 
                                                                       <div    ><ul class="uk-nav-sub" role="menu">
-                                                                              <li><a href="/search/find/publications">Publications</a></li>
-                                                                              <li><a href="/search/find/datasets">Datasets</a></li>
-                                                                              <li><a href="/search/find/projects">Projects</a></li>
-                                                                              <li><a href="/search/find/dataproviders">Data Providers</a></li>
-                                                                              <li><a href="/search/find/organizations">Organizations</a></li>
-                                                                              <li><a href="/search/find/people">People</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/find/publications">Publications</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/find/datasets">Datasets</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/find/projects">Projects</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/find/dataproviders">Data Providers</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/find/organizations">Organizations</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/find/people">People</a></li>
                                                                            </ul>
                                                                       </div>
 
@@ -115,8 +113,8 @@
                                                                       <a href="#">Data Providers</a>
 
                                                                       <div   ><ul class="uk-nav-sub" role="menu">
-                                                                              <li><a href="/search/data-providers">Compatible Data Providers</a></li>
-                                                                              <li><a href="/search/entity-registries">Entity Registries</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/data-providers">Compatible Data Providers</a></li>
+                                                                              <li><a routerLinkActive="router-link-active" routerLink="search/entity-registries">Entity Registries</a></li>
                                                                            </ul>
                                                                       </div>
 
@@ -125,12 +123,12 @@
                                                                       <a href="#">Advanced Search</a>
 
                                                                       <div   ><ul class="uk-nav-sub" role="menu">
-                                                                            <li><a href="/search/advanced/publications">Advanced Search Publications</a></li>
-                                                                            <li><a href="/search/advanced/datasets">Advanced Search Research Data</a></li>
-                                                                            <li><a href="/search/advanced/projects">Advanced Search Projects</a></li>
-                                                                            <li><a href="/search/advanced/dataproviders">Advanced Search Data Providers</a></li>
-                                                                            <li><a href="/search/advanced/organizations">Advanced Search Organizations</a></li>
-                                                                            <li><a href="/search/advanced/people">Advanced Search People</a></li>
+                                                                            <li><a routerLinkActive="router-link-active" routerLink="search/advanced/publications">Advanced Search Publications</a></li>
+                                                                            <li><a routerLinkActive="router-link-active" routerLink="search/advanced/datasets">Advanced Search Research Data</a></li>
+                                                                            <li><a routerLinkActive="router-link-active" routerLink="search/advanced/projects">Advanced Search Projects</a></li>
+                                                                            <li><a routerLinkActive="router-link-active" routerLink="search/advanced/dataproviders">Advanced Search Data Providers</a></li>
+                                                                            <li><a routerLinkActive="router-link-active" routerLink="search/advanced/organizations">Advanced Search Organizations</a></li>
+                                                                            <li><a routerLinkActive="router-link-active" routerLink="search/advanced/people">Advanced Search People</a></li>
                                                                           </ul>
                                                                       </div>
 
@@ -140,8 +138,8 @@
                                                                       <a href="#">Deposit</a>
 
                                                                       <div   ><ul class="uk-nav-sub" role="menu">
-                                                                            <li><a  href="/deposit-publications">Deposit Publications</a></li>
-                                                                            <li><a   href="/deposit-datasets">Deposit Research Data</a></li>
+                                                                            <li><a  routerLinkActive="router-link-active" routerLink="deposit-publications">Deposit Publications</a></li>
+                                                                            <li><a   routerLinkActive="router-link-active" routerLink="deposit-datasets">Deposit Research Data</a></li>
                                                                           </ul>
                                                                       </div>
 
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/src/server.ts
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/src/server.ts	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/src/server.ts	(revision 45786)
@@ -69,16 +69,30 @@
 app.get('/data.json', serverApi);
 app.use('/api', createTodoApi());
 
+process.on('uncaughtException', function (err) { 
+  console.error('Catching uncaught errors to avoid process crash', err);
+});
+
 function ngApp(req, res) {
-  res.render('index', {
-    req,
-    res,
-    // time: true, // use this to determine what part of your app is slow only in development
-    preboot: false,
-    baseUrl: '/',
-    requestUrl: req.originalUrl,
-    originUrl: `http://localhost:${ app.get('port') }`
+
+  function onHandleError(parentZoneDelegate, currentZone, targetZone, error)  {
+    console.warn('Error in SSR, serving for direct CSR');
+    res.sendFile('index.html', {root: './src'});
+    return false;
+  }
+
+  Zone.current.fork({ name: 'CSR fallback', onHandleError }).run(() => {
+    res.render('index', {
+      req,
+      res,
+      // time: true, // use this to determine what part of your app is slow only in development
+      preboot: false,
+      baseUrl: '/',
+      requestUrl: req.originalUrl,
+      originUrl: `http://localhost:${ app.get('port') }`
+    });
   });
+
 }
 
 /**
Index: modules/uoa-services-portal/branches/lazy-routes/portal-2/README.md
===================================================================
--- modules/uoa-services-portal/branches/lazy-routes/portal-2/README.md	(revision 45785)
+++ modules/uoa-services-portal/branches/lazy-routes/portal-2/README.md	(revision 45786)
@@ -53,15 +53,18 @@
 }
 ```
  - The application runs XHR requests on the server & once again on the Client-side (when the application bootstraps)
-    - Use a [UniversalCache](https://github.com/angular/universal-starter/blob/master/src/+app/shared/api.service.ts#L47-L71) instead of regular Http, to save certain requests so they aren't re-ran again on the Client.
+    - Use a [UniversalCache](https://github.com/angular/universal-starter/blob/master/src/%2Bapp/shared/model/model.service.ts#L34-L50) instead of regular Http, to save certain requests so they aren't re-ran again on the Client. ([Example useage here](https://github.com/angular/universal-starter/blob/cc71e2d5b2d783f2bb52eebd1b5c6fa0ba23f08a/src/%2Bapp/%2Bhome/home.component.ts#L22-L24))
  - Know the difference between attributes and properties in relation to the DOM.
  - Keep your directives stateless as much as possible. For stateful directives, you may need to provide an attribute that reflects the corresponding property with an initial string value such as url in img tag. For our native `<img src="">` element the src attribute is reflected as the src property of the element type HTMLImageElement.
 
 ### Brotli Compression Support
 
-To enable Brotli compression for server response with fallback for gzip replace the following code from src/server.aot.ts
-
+To enable Brotli compression for server response with fallback for gzip.  Install the following packages
 ```
+npm install --save-dev iltorb accepts @types/accepts express-interceptor memory-cache @types/memory-cache
+```
+and replace the following code from src/server.aot.ts.
+```
   import * as compression from 'compression';
 
   app.use(compression());
@@ -99,8 +102,11 @@
       }
     } else {
       const { output, encoding } = mcache.get(key);
-      res.setHeader('Content-Encoding', encoding);
-      send(output);
+      if(encodings.has(encoding)){
+          res.setHeader('Content-Encoding', encoding);
+          send(output);
+          return;
+      }
     }
     send(output);
   }
