Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchDataproviders.service.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchDataproviders.service.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchDataproviders.service.ts	(revision 58259)
@@ -204,7 +204,7 @@
       var basicQuery = "(oaftype exact datasource) "
       url += "?query=";
       if(datasourceId!= null && datasourceId != ''  ) {
-        url +=" ( "+basicQuery+ " ) " +" and (collectedfromdatasourceid exact \"" + datasourceId + "\")";
+        url +=" ( "+basicQuery+ " ) " +" and (collectedfromdatasourceid exact \"" + datasourceId + "\" or resulthostingdatasourceid exact \""+ datasourceId + "\")";
       }else{
         url +=" ( "+basicQuery+ " ) ";
       }
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchResearchResults.service.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchResearchResults.service.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchResearchResults.service.ts	(revision 58259)
@@ -43,8 +43,8 @@
       .pipe(map(res => this.parseResults(resultType, res, properties)));
   }
   
-  searchAggregators(resultType: string, id: string, params: string, refineParams: string, page: number, size: number, properties: EnvProperties): any {
-    let link = properties.searchAPIURLLAst + this.getEntityName(resultType, true);
+  searchAggregators(id: string, params: string, refineParams: string, page: number, size: number, properties: EnvProperties): any {
+    let link = properties.searchAPIURLLAst +"resources2";
     
     let url = link + "?" + "&format=json";
     if (params != null && params != '') {
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchProjects.service.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchProjects.service.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/services/searchProjects.service.ts	(revision 58259)
@@ -39,7 +39,7 @@
       var basicQuery = "(oaftype exact project) "
       url += "?query=";
       if(datasourceId!= null && datasourceId != ''  ) {
-        url +=" ( "+basicQuery+ " ) " +" and (collectedfromdatasourceid exact \"" + datasourceId + "\")";
+        url +=" ( "+basicQuery+ " ) " +" and (collectedfromdatasourceid exact \"" + datasourceId + "\" or resulthostingdatasourceid exact \""+ datasourceId + "\")";
       }else{
         url +=" ( "+basicQuery+ " ) ";
       }
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.html
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.html	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.html	(revision 58259)
@@ -293,15 +293,19 @@
 <!--                class="uk-text-bold">Countries: </span>{{dataProviderInfo.countries.join(", ")}}</li>-->
 <!--            </ul>-->
 
-            <div *ngIf="showTabs && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.length > 0"
+<!--            && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.length > 0-->
+            <div *ngIf="showTabs"
                  class="uk-margin-medium-top">
-              <div *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1"
+<!--              *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1 || dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"-->
+              <div
                    class="uk-margin-top simple-buttons uk-flex uk-flex-middle">
-<!--                <div *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"-->
-<!--                     (click)="openRelatedDatasources()" class="clickable uk-margin-right">-->
-<!--                  <span class="uk-text-middle">Related Content Providers</span>-->
-<!--                </div>-->
-                <div *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1"
+<!--                *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"-->
+                <div
+                     (click)="openRelatedDatasources()" class="clickable uk-margin-right">
+                  <span class="uk-text-middle">Related Content Providers</span>
+                </div>
+<!--                *ngIf="dataProviderInfo.tabs2.indexOf('Statistics') != -1"-->
+                <div
                     (click)="openStatistics()" class="clickable uk-margin-right">
                   <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24">
                     <path d="M0 0h24v24H0z" fill="none"></path>
@@ -311,30 +315,33 @@
                 </div>
               </div>
 
-              <div *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1 ||
-                          dataProviderInfo.tabs2.indexOf('Research Data') != -1 ||
-                          dataProviderInfo.tabs2.indexOf('Software') != -1 ||
-                          dataProviderInfo.tabs2.indexOf('Other Research Products') != -1 ||
-                          dataProviderInfo.tabs2.indexOf('Projects') != -1 ||
-                          dataProviderInfo.tabs2.indexOf('Content Providers') != -1 ||
-                          dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"
+<!--              ||-->
+<!--              dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1-->
+
+<!--              *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1 ||-->
+<!--              dataProviderInfo.tabs2.indexOf('Research Data') != -1 ||-->
+<!--              dataProviderInfo.tabs2.indexOf('Software') != -1 ||-->
+<!--              dataProviderInfo.tabs2.indexOf('Other Research Products') != -1 ||-->
+<!--              dataProviderInfo.tabs2.indexOf('Projects') != -1 ||-->
+<!--              dataProviderInfo.tabs2.indexOf('Content Providers') != -1 "-->
+              <div
                    class="uk-margin-top advanced-buttons uk-grid-small uk-child-width-1-4@s uk-child-width-1-2"
                    uk-height-match="target: .target; row: false"
                    uk-grid>
 <!--                && dataProviderInfo.relatedDatasources && dataProviderInfo.relatedDatasources.size > 0-->
-                <div *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1
-                            ">
-                  <div class="clickable" (click)="openRelatedDatasources()">
-                    <div class="header target uk-text-bold">Related Content Providers</div>
-                    <div class="footer target uk-position-relative">
-<!--                      <span class="uk-text-bold uk-position-center">-->
-<!--                        {{dataProviderInfo.relatedDatasources?.size | number}}-->
-<!--                      </span>-->
-                    </div>
-                  </div>
-                </div>
+<!--                <div *ngIf="dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1-->
+<!--                            ">-->
+<!--                  <div class="clickable" (click)="openRelatedDatasources()">-->
+<!--                    <div class="header target uk-text-bold">Related Content Providers</div>-->
+<!--                    <div class="footer target uk-position-relative">-->
+<!--&lt;!&ndash;                      <span class="uk-text-bold uk-position-center">&ndash;&gt;-->
+<!--&lt;!&ndash;                        {{dataProviderInfo.relatedDatasources?.size | number}}&ndash;&gt;-->
+<!--&lt;!&ndash;                      </span>&ndash;&gt;-->
+<!--                    </div>-->
+<!--                  </div>-->
+<!--                </div>-->
 
-                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1">
+<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Publications') != -1">-->
                   <ng-container *ngTemplateOutlet="search_box;
                               context: {  fetch: fetchPublications, type: 'publications', typeName: 'Publications',
                               searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('publications')}">
@@ -341,37 +348,37 @@
                   </ng-container>
 <!--                  <a [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'type', 'qf'], ['relprojectid', projectId, type, 'false'])"-->
 <!--                     [routerLink]="properties.searchLinkToAdvancedResults">-->
-                </ng-container>
-                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Research Data') != -1">
+<!--                </ng-container>-->
+<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Research Data') != -1">-->
                   <ng-container *ngTemplateOutlet="search_box;
                               context: {  fetch: fetchDatasets, type: 'datasets', typeName: 'Research Data',
                               searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('datasets')}">
                   </ng-container>
-                </ng-container>
-                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Software') != -1">
+<!--                </ng-container>-->
+<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Software') != -1">-->
                   <ng-container *ngTemplateOutlet="search_box;
                               context: {  fetch: fetchSoftware, type: 'software', typeName: 'Software',
                               searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('software')}">
                   </ng-container>
-                </ng-container>
-                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Other Research Products') != -1">
+<!--                </ng-container>-->
+<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Other Research Products') != -1">-->
                   <ng-container *ngTemplateOutlet="search_box;
                               context: {  fetch: fetchOrps, type: 'other', typeName: 'Other Research Products',
                               searchLinkToAdvancedPage: properties.searchLinkToAdvancedResults, params: getParamsForSearchLink('other')}">
                   </ng-container>
-                </ng-container>
-                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Projects') != -1">
+<!--                </ng-container>-->
+<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Projects') != -1">-->
                   <ng-container *ngTemplateOutlet="search_box;
                               context: {  fetch: fetchProjects, type: 'project', typeName: 'Projects',
                               searchLinkToAdvancedPage: properties.searchLinkToAdvancedProjects, params: getParamsForSearchLink()}">
                   </ng-container>
-                </ng-container>
-                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Content Providers') != -1">
+<!--                </ng-container>-->
+<!--                <ng-container *ngIf="dataProviderInfo.tabs2.indexOf('Content Providers') != -1">-->
                   <ng-container *ngTemplateOutlet="search_box;
                               context: {  fetch: fetchDataproviders, type: 'other', typeName: 'Content Providers',
                               searchLinkToAdvancedPage: properties.searchLinkToAdvancedDataProviders, params: getParamsForSearchLink()}">
                   </ng-container>
-                </ng-container>
+<!--                </ng-container>-->
               </div>
             </div>
             <div class="uk-margin-small-top uk-flex uk-flex-bottom">
@@ -583,7 +590,9 @@
 
   <!-- Related Content Providers -->
 <!--  && dataProviderInfo.relatedDatasources && dataProviderInfo.relatedDatasources.size > 0-->
-  <modal-alert *ngIf="dataProviderInfo && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1"
+
+<!--  && dataProviderInfo.tabs2 && dataProviderInfo.tabs2.indexOf('Related Content Providers') != -1-->
+  <modal-alert *ngIf="dataProviderInfo"
                classBody="uk-width-xxlarge uk-padding-remove-right" #relatedDatasourcesModal>
     <landing-header [properties]="properties" [title]="dataProviderInfo.title.name"
                     [subTitle]="(dataProviderInfo.officialName
@@ -592,15 +601,18 @@
                     [types]="dataProviderInfo.type ? [dataProviderInfo.type] : null">
     </landing-header>
     <div class="uk-margin-medium-top uk-margin-medium-right">
+<!--      [fetchPublications]="fetchAggregatorsPublications"-->
+<!--      [fetchDatasets]="fetchAggregatorsDatasets"-->
+<!--      [fetchSoftware]="fetchAggregatorsSoftware"-->
+<!--      [fetchOrps]="fetchAggregatorsOrps"-->
       <relatedDatasourcesTab
                              [dataproviderId]="datasourceId"
                              [results]="dataProviderInfo.relatedDatasources"
                              [loading]="loadingRelatedDatasources"
-                             [fetchPublications]="fetchAggregatorsPublications"
-                             [fetchDatasets]="fetchAggregatorsDatasets"
-                             [fetchSoftware]="fetchAggregatorsSoftware"
-                             [fetchOrps]="fetchAggregatorsOrps"
-                             [properties]=properties>
+                             [fetchResults]="fetchAggregatorsResults"
+                             [collectedFromName]="dataProviderInfo.title.name"
+                             [properties]=properties
+                             [modal]="relatedDatasourcesModal">
       </relatedDatasourcesTab>
     </div>
   </modal-alert>
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.ts	(revision 58259)
@@ -73,6 +73,7 @@
   public fetchAggregatorsDatasets: FetchResearchResults;
   public fetchAggregatorsSoftware: FetchResearchResults;
   public fetchAggregatorsOrps: FetchResearchResults;
+  public fetchAggregatorsResults: FetchResearchResults;
 
   public loadingRelatedDatasources: boolean = true;
 
@@ -307,13 +308,15 @@
       //    return tab.name === 'Publications';
       //})) {
       //    this.relatedDataprovidersResultsType = 'publications';
-      this.fetchAggregatorsPublications = new FetchResearchResults(this._searchResearchResultsService);
-      //} else {
-      //   this.relatedDataprovidersResultsType = 'datasets';
-      this.fetchAggregatorsDatasets = new FetchResearchResults(this._searchResearchResultsService);
-      //}
-      this.fetchAggregatorsSoftware = new FetchResearchResults(this._searchResearchResultsService);
-      this.fetchAggregatorsOrps = new FetchResearchResults(this._searchResearchResultsService);
+
+      // this.fetchAggregatorsPublications = new FetchResearchResults(this._searchResearchResultsService);
+      // //} else {
+      // //   this.relatedDataprovidersResultsType = 'datasets';
+      // this.fetchAggregatorsDatasets = new FetchResearchResults(this._searchResearchResultsService);
+      // //}
+      // this.fetchAggregatorsSoftware = new FetchResearchResults(this._searchResearchResultsService);
+      // this.fetchAggregatorsOrps = new FetchResearchResults(this._searchResearchResultsService);
+      this.fetchAggregatorsResults = new FetchResearchResults(this._searchResearchResultsService);
     }
     // if (this.dataProviderInfo.resultsBy == "collectedFrom") {
     //   //this.paramsForSearchLink = "?collectedFrom="+this.datasourceId+"&co=and";
@@ -329,16 +332,16 @@
 
   public getParamsForSearchLink(type: string = "") {
     let resultsBy: string = "";
-    if(this.dataProviderInfo.resultsBy == "collectedFrom") {
-      resultsBy = "collectedfromdatasourceid"
-    } else if (this.dataProviderInfo.resultsBy == "hostedBy") {
-      resultsBy = "resulthostingdatasourceid";
-    }
+    // if(this.dataProviderInfo.resultsBy == "collectedFrom") {
+    //   resultsBy = "collectedfromdatasourceid"
+    // } else if (this.dataProviderInfo.resultsBy == "hostedBy") {
+    //   resultsBy = "resulthostingdatasourceid";
+    // }
 
     if(type) {
-      return this.routerHelper.createQueryParams(['f0', 'fv0', 'type', 'qf'], [resultsBy, this.datasourceId, type, "false"]);
+      return this.routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ["collectedfromdatasourceid", this.datasourceId, "resulthostingdatasourceid,or", this.datasourceId, type, "false"]);
     } else {
-      return this.routerHelper.createQueryParams(['f0', 'fv0'], [resultsBy, this.datasourceId]);
+      return this.routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1'], ["collectedfromdatasourceid", this.datasourceId, "resulthostingdatasourceid,or", this.datasourceId]);
     }
   }
 
@@ -467,33 +470,49 @@
   private searchRelatedDatasources(page: number, size: number) {
     // Currently no counting is done for this tab. Following condition is always false
 
+    // if (this.reloadRelatedDatasources &&
+    //   (this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.LOADING ||
+    //     this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.DONE)
+    //   &&
+    //   (this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.LOADING ||
+    //     this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.DONE)
+    //   &&
+    //   (this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.LOADING ||
+    //     this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE)
+    //   &&
+    //   (this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.LOADING ||
+    //     this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.DONE)
+    // ) {
+    //   this.relatedDatasourcesSub = observableMerge(this.fetchAggregatorsPublications.requestComplete, this.fetchAggregatorsDatasets.requestComplete, this.fetchAggregatorsSoftware.requestComplete, this.fetchAggregatorsOrps.requestComplete)
+    //     .subscribe(
+    //       data => {
+    //       },
+    //       err => {
+    //       },
+    //       () => {
+    //         this.preprocessRelatedDatasources();
+    //       }
+    //     );
+    //
+    //   this.fetchAggregatorsPublications.getAggregatorResults("publication", this.datasourceId, page, size, this.properties);
+    //   this.fetchAggregatorsDatasets.getAggregatorResults("dataset", this.datasourceId, page, size, this.properties);
+    //   this.fetchAggregatorsSoftware.getAggregatorResults("software", this.datasourceId, page, size, this.properties);
+    //   this.fetchAggregatorsOrps.getAggregatorResults("other", this.datasourceId, page, size, this.properties);
     if (this.reloadRelatedDatasources &&
-      (this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.LOADING ||
-        this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.DONE)
-      &&
-      (this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.LOADING ||
-        this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.DONE)
-      &&
-      (this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.LOADING ||
-        this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE)
-      &&
-      (this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.LOADING ||
-        this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.DONE)) {
-      this.relatedDatasourcesSub = observableMerge(this.fetchAggregatorsPublications.requestComplete, this.fetchAggregatorsDatasets.requestComplete, this.fetchAggregatorsSoftware.requestComplete, this.fetchAggregatorsOrps.requestComplete)
-        .subscribe(
-          data => {
-          },
-          err => {
-          },
-          () => {
-            this.preprocessRelatedDatasources();
-          }
-        )
+      (this.fetchAggregatorsResults.searchUtils.status == this.errorCodes.LOADING ||
+        this.fetchAggregatorsResults.searchUtils.status == this.errorCodes.DONE)
+    ) {
+      this.relatedDatasourcesSub = this.fetchAggregatorsResults.requestComplete.subscribe(
+        data => {},
+        err => {},
+        () => {
+            //this.preprocessRelatedDatasources();
+          this.dataProviderInfo.relatedDatasources = this.fetchAggregatorsResults.results;
+          this.loadingRelatedDatasources = false;
+        }
+      );
 
-      this.fetchAggregatorsPublications.getAggregatorResults("publication", this.datasourceId, page, size, this.properties);
-      this.fetchAggregatorsDatasets.getAggregatorResults("dataset", this.datasourceId, page, size, this.properties);
-      this.fetchAggregatorsSoftware.getAggregatorResults("software", this.datasourceId, page, size, this.properties);
-      this.fetchAggregatorsOrps.getAggregatorResults("other", this.datasourceId, page, size, this.properties);
+      this.fetchAggregatorsResults.getAggregatorResults("results", this.datasourceId, page, size, this.properties);
     } else {
       this.loadingRelatedDatasources = false;
     }
@@ -503,78 +522,79 @@
   }
 
   private countRelatedDatasources(page: number, size: number) {
-    this.fetchAggregatorsPublications.getAggregatorResults("publication", this.datasourceId, page, size, this.properties);
-    this.fetchAggregatorsDatasets.getAggregatorResults("dataset", this.datasourceId, page, size, this.properties);
-    this.fetchAggregatorsSoftware.getAggregatorResults("software", this.datasourceId, page, size, this.properties);
-    this.fetchAggregatorsOrps.getAggregatorResults("other", this.datasourceId, page, size, this.properties);
+    // this.fetchAggregatorsPublications.getAggregatorResults("publication", this.datasourceId, page, size, this.properties);
+    // this.fetchAggregatorsDatasets.getAggregatorResults("dataset", this.datasourceId, page, size, this.properties);
+    // this.fetchAggregatorsSoftware.getAggregatorResults("software", this.datasourceId, page, size, this.properties);
+    // this.fetchAggregatorsOrps.getAggregatorResults("other", this.datasourceId, page, size, this.properties);
+    this.fetchAggregatorsResults.getAggregatorResults("results", this.datasourceId, page, size, this.properties);
   }
 
 
-  private preprocessRelatedDatasources() {
-    if (this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.DONE ||
-      this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.DONE ||
-      this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE ||
-      this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.DONE) {
-      this.dataProviderInfo.relatedDatasources = new Map<string, { "name": string, "countPublications": string, "countDatasets": string, "countSoftware": string, "countOrps": string }>();
-    }
-    for (let result of this.fetchAggregatorsPublications.results) {
-      if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
-        this.dataProviderInfo.relatedDatasources.set(result.id, {
-          "name": result.name,
-          "countPublications": result.count,
-          "countDatasets": "0",
-          "countSoftware": "0",
-          "countOrps": "0"
-        });
-      } else {
-        this.dataProviderInfo.relatedDatasources.get(result.id).countPublications = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countPublications + result.count) + "";
-      }
-    }
+  // private preprocessRelatedDatasources() {
+  //   if (this.fetchAggregatorsPublications.searchUtils.status == this.errorCodes.DONE ||
+  //     this.fetchAggregatorsDatasets.searchUtils.status == this.errorCodes.DONE ||
+  //     this.fetchAggregatorsSoftware.searchUtils.status == this.errorCodes.DONE ||
+  //     this.fetchAggregatorsOrps.searchUtils.status == this.errorCodes.DONE) {
+  //     this.dataProviderInfo.relatedDatasources = new Map<string, { "name": string, "countPublications": string, "countDatasets": string, "countSoftware": string, "countOrps": string }>();
+  //   }
+  //   for (let result of this.fetchAggregatorsPublications.results) {
+  //     if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
+  //       this.dataProviderInfo.relatedDatasources.set(result.id, {
+  //         "name": result.name,
+  //         "countPublications": result.count,
+  //         "countDatasets": "0",
+  //         "countSoftware": "0",
+  //         "countOrps": "0"
+  //       });
+  //     } else {
+  //       this.dataProviderInfo.relatedDatasources.get(result.id).countPublications = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countPublications + result.count) + "";
+  //     }
+  //   }
+  //
+  //   for (let result of this.fetchAggregatorsDatasets.results) {
+  //     if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
+  //       this.dataProviderInfo.relatedDatasources.set(result.id, {
+  //         "name": result.name,
+  //         "countPublications": "0",
+  //         "countDatasets": result.count,
+  //         "countSoftware": "0",
+  //         "countOrps": "0"
+  //       });
+  //     } else {
+  //       this.dataProviderInfo.relatedDatasources.get(result.id).countDatasets = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countDatasets + result.count) + "";
+  //     }
+  //   }
+  //
+  //   for (let result of this.fetchAggregatorsSoftware.results) {
+  //     if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
+  //       this.dataProviderInfo.relatedDatasources.set(result.id, {
+  //         "name": result.name,
+  //         "countPublications": "0",
+  //         "countDatasets": "0",
+  //         "countSoftware": result.count,
+  //         "countOrps": "0"
+  //       });
+  //     } else {
+  //       this.dataProviderInfo.relatedDatasources.get(result.id).countSoftware = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countSoftware + result.count) + "";
+  //     }
+  //   }
+  //
+  //   for (let result of this.fetchAggregatorsOrps.results) {
+  //     if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
+  //       this.dataProviderInfo.relatedDatasources.set(result.id, {
+  //         "name": result.name,
+  //         "countPublications": "0",
+  //         "countDatasets": "0",
+  //         "countSoftware": "0",
+  //         "countOrps": result.count
+  //       });
+  //     } else {
+  //       this.dataProviderInfo.relatedDatasources.get(result.id).countOrps = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countOrps + result.count) + "";
+  //     }
+  //   }
+  //   this.loadingRelatedDatasources = false;
+  // }
 
-    for (let result of this.fetchAggregatorsDatasets.results) {
-      if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
-        this.dataProviderInfo.relatedDatasources.set(result.id, {
-          "name": result.name,
-          "countPublications": "0",
-          "countDatasets": result.count,
-          "countSoftware": "0",
-          "countOrps": "0"
-        });
-      } else {
-        this.dataProviderInfo.relatedDatasources.get(result.id).countDatasets = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countDatasets + result.count) + "";
-      }
-    }
-
-    for (let result of this.fetchAggregatorsSoftware.results) {
-      if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
-        this.dataProviderInfo.relatedDatasources.set(result.id, {
-          "name": result.name,
-          "countPublications": "0",
-          "countDatasets": "0",
-          "countSoftware": result.count,
-          "countOrps": "0"
-        });
-      } else {
-        this.dataProviderInfo.relatedDatasources.get(result.id).countSoftware = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countSoftware + result.count) + "";
-      }
-    }
-
-    for (let result of this.fetchAggregatorsOrps.results) {
-      if (!this.dataProviderInfo.relatedDatasources.has(result.id)) {
-        this.dataProviderInfo.relatedDatasources.set(result.id, {
-          "name": result.name,
-          "countPublications": "0",
-          "countDatasets": "0",
-          "countSoftware": "0",
-          "countOrps": result.count
-        });
-      } else {
-        this.dataProviderInfo.relatedDatasources.get(result.id).countOrps = parseInt(this.dataProviderInfo.relatedDatasources.get(result.id).countOrps + result.count) + "";
-      }
-    }
-    this.loadingRelatedDatasources = false;
-  }
-
   public metricsResults($event) {
     this.totalViews = $event.totalViews;
     this.totalDownloads = $event.totalDownloads;
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/relatedDatasourcesTab.component.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/relatedDatasourcesTab.component.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/landingPages/dataProvider/relatedDatasourcesTab.component.ts	(revision 58259)
@@ -5,129 +5,186 @@
 import { ErrorCodes} from '../../utils/properties/errorCodes';
 import { RouterHelper } from '../../utils/routerHelper.class';
 import { EnvProperties } from '../../utils/properties/env-properties';
+import {AlertModal} from "../../utils/modal/alert";
 
 @Component({
-    selector: 'relatedDatasourcesTab',
-    template: `
-        <errorMessages  [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status, fetchSoftware.searchUtils.status, fetchOrps.searchUtils.status]"
-                        [type]="'related content providers'" tab_error_class=true>
-        </errorMessages>
+  selector: 'relatedDatasourcesTab',
+  template: `
+<!--      <errorMessages  [status]="[fetchPublications.searchUtils.status, fetchDatasets.searchUtils.status, fetchSoftware.searchUtils.status, fetchOrps.searchUtils.status]"-->
+<!--                        [type]="'related content providers'" tab_error_class=true>-->
+<!--      </errorMessages>-->
 
-        <div *ngIf="(fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE
-                      || fetchSoftware.searchUtils.status == errorCodes.DONE || fetchOrps.searchUtils.status == errorCodes.DONE)
-                    && !loading">
-<!--            <div *ngIf="results && results.size > pageSize" class="uk-margin">-->
-<!--              <span class="uk-text-bold">{{results.size | number}} related content providers, page {{page | number}} of {{totalPages(results.size) | number}}</span>-->
-<!--              <paging-no-load class="uk-float-right" [currentPage]="page" [totalResults]="results.size" [size]="pageSize" (pageChange)="updatePage($event)"></paging-no-load>-->
-<!--            </div>-->
-            <no-load-paging *ngIf="results.size >pageSize"
-                            [type]="'content providers'"
-                            (pageChange)="updatePage($event)"
-                            [page]="page" [pageSize]="pageSize"
-                            [totalResults]="results.size">
-            </no-load-paging>
-          
-            <table class="uk-table uk-table-striped">
-                <thead>
-                    <tr>
-                        <th class="uk-text-center">Content Provider Name</th>
-                        <th *ngIf="fetchPublications.results.length > 0 || fetchPublications.searchUtils.status == errorCodes.ERROR"
-                            class="uk-text-center">
-                          Number of Publications
-                        </th>
-                        <th *ngIf="fetchDatasets.results.length > 0 || fetchDatasets.searchUtils.status == errorCodes.ERROR"
-                            class="uk-text-center">
-                          Number of Research Data
-                        </th>
-                        <th *ngIf="fetchSoftware.results.length > 0 || fetchSoftware.searchUtils.status == errorCodes.ERROR"
-                            class="uk-text-center">
-                          Number of Software
-                        </th>
-                        <th *ngIf="fetchOrps.results.length > 0 || fetchOrps.searchUtils.status == errorCodes.ERROR"
-                            class="uk-text-center">
-                          Number of Other Research Products
-                        </th>
-                    </tr>
-                </thead>
-                <tbody>
-                  <ng-container *ngIf="results">
-                      <ng-container *ngFor="let id of getKeys(results); let i=index">
-                        <tr *ngIf="i>=(page-1)*pageSize && i<page*pageSize">
-                          <td class="uk-text-center">
-                              <a [queryParams]="{datasourceId: id}" routerLinkActive="router-link-active" routerLink="/search/dataprovider">
-                                  {{results.get(id).name}}
-                              </a>
-                          </td>
-                          <td *ngIf="fetchPublications.results.length > 0" class="uk-text-center">
-<!--                            *ngIf="results.get(id).countPublications > 0"-->
-                            <a 
-                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'publications', 'false'])"
-                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults">
-                                  {{results.get(id).countPublications | number}}
-                            </a>
-<!--                            <span *ngIf="results.get(id).countPublications <= 0">-</span>-->
-                          </td>
-                          <td *ngIf="fetchPublications.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>
+<!--      <div *ngIf="(fetchPublications.searchUtils.status == errorCodes.DONE || fetchDatasets.searchUtils.status == errorCodes.DONE-->
+<!--                   || fetchSoftware.searchUtils.status == errorCodes.DONE || fetchOrps.searchUtils.status == errorCodes.DONE)-->
+<!--                   && !loading">-->
+<!--&lt;!&ndash;            <div *ngIf="results && results.size > pageSize" class="uk-margin">&ndash;&gt;-->
+<!--&lt;!&ndash;              <span class="uk-text-bold">{{results.size | number}} related content providers, page {{page | number}} of {{totalPages(results.size) | number}}</span>&ndash;&gt;-->
+<!--&lt;!&ndash;              <paging-no-load class="uk-float-right" [currentPage]="page" [totalResults]="results.size" [size]="pageSize" (pageChange)="updatePage($event)"></paging-no-load>&ndash;&gt;-->
+<!--&lt;!&ndash;            </div>&ndash;&gt;-->
+<!--        <no-load-paging *ngIf="results.size >pageSize"-->
+<!--                        [type]="'content providers'"-->
+<!--                        (pageChange)="updatePage($event)"-->
+<!--                        [page]="page" [pageSize]="pageSize"-->
+<!--                        [totalResults]="results.size">-->
+<!--        </no-load-paging>-->
+<!--          -->
+<!--            <table class="uk-table uk-table-striped">-->
+<!--                <thead>-->
+<!--                    <tr>-->
+<!--                        <th class="uk-text-center">Content Provider Name</th>-->
+<!--                        <th *ngIf="fetchPublications.results.length > 0 || fetchPublications.searchUtils.status == errorCodes.ERROR"-->
+<!--                            class="uk-text-center">-->
+<!--                          Number of Publications-->
+<!--                        </th>-->
+<!--                        <th *ngIf="fetchDatasets.results.length > 0 || fetchDatasets.searchUtils.status == errorCodes.ERROR"-->
+<!--                            class="uk-text-center">-->
+<!--                          Number of Research Data-->
+<!--                        </th>-->
+<!--                        <th *ngIf="fetchSoftware.results.length > 0 || fetchSoftware.searchUtils.status == errorCodes.ERROR"-->
+<!--                            class="uk-text-center">-->
+<!--                          Number of Software-->
+<!--                        </th>-->
+<!--                        <th *ngIf="fetchOrps.results.length > 0 || fetchOrps.searchUtils.status == errorCodes.ERROR"-->
+<!--                            class="uk-text-center">-->
+<!--                          Number of Other Research Products-->
+<!--                        </th>-->
+<!--                    </tr>-->
+<!--                </thead>-->
+<!--                <tbody>-->
+<!--                  <ng-container *ngIf="results">-->
+<!--                      <ng-container *ngFor="let id of getKeys(results); let i=index">-->
+<!--                        <tr *ngIf="i>=(page-1)*pageSize && i<page*pageSize">-->
+<!--                          <td class="uk-text-center">-->
+<!--                              <a [queryParams]="{datasourceId: id}" routerLinkActive="router-link-active" routerLink="/search/dataprovider" (click)="onLinkClick()">-->
+<!--                                  {{results.get(id).name}}-->
+<!--                              </a>-->
+<!--                          </td>-->
+<!--                          <td *ngIf="fetchPublications.results.length > 0" class="uk-text-center">-->
+<!--&lt;!&ndash;                            *ngIf="results.get(id).countPublications > 0"&ndash;&gt;-->
+<!--                            <a -->
+<!--                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'publications', 'false'])"-->
+<!--                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults" (click)="onLinkClick()">-->
+<!--                                  {{results.get(id).countPublications | number}}-->
+<!--                            </a>-->
+<!--&lt;!&ndash;                            <span *ngIf="results.get(id).countPublications <= 0">-</span>&ndash;&gt;-->
+<!--                          </td>-->
+<!--                          <td *ngIf="fetchPublications.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>-->
 
-                          <td *ngIf="fetchDatasets.results.length > 0" class="uk-text-center">
-<!--                            *ngIf="results.get(id).countDatasets > 0"-->
-                            <a  
-                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'datasets', 'false'])"
-                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults">
-                                  {{results.get(id).countDatasets | number}}
-                            </a>
-<!--                            <span *ngIf="results.get(id).countDatasets <= 0">-</span>-->
-                          </td>
-                          <td *ngIf="fetchDatasets.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>
+<!--                          <td *ngIf="fetchDatasets.results.length > 0" class="uk-text-center">-->
+<!--&lt;!&ndash;                            *ngIf="results.get(id).countDatasets > 0"&ndash;&gt;-->
+<!--                            <a  -->
+<!--                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'datasets', 'false'])"-->
+<!--                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults" (click)="onLinkClick()">-->
+<!--                                  {{results.get(id).countDatasets | number}}-->
+<!--                            </a>-->
+<!--&lt;!&ndash;                            <span *ngIf="results.get(id).countDatasets <= 0">-</span>&ndash;&gt;-->
+<!--                          </td>-->
+<!--                          <td *ngIf="fetchDatasets.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>-->
 
-                          <td *ngIf="fetchSoftware.results.length > 0" class="uk-text-center">
-<!--                            *ngIf="results.get(id).countSoftware > 0"-->
-                            <a  
-                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'software', 'false'])"
-                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults">
-                                  {{results.get(id).countSoftware | number}}
-                            </a>
-<!--                            <span *ngIf="results.get(id).countSoftware <= 0">-</span>-->
-                          </td>
-                          <td *ngIf="fetchSoftware.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>
+<!--                          <td *ngIf="fetchSoftware.results.length > 0" class="uk-text-center">-->
+<!--&lt;!&ndash;                            *ngIf="results.get(id).countSoftware > 0"&ndash;&gt;-->
+<!--                            <a  -->
+<!--                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'software', 'false'])"-->
+<!--                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults" (click)="onLinkClick()">-->
+<!--                                  {{results.get(id).countSoftware | number}}-->
+<!--                            </a>-->
+<!--&lt;!&ndash;                            <span *ngIf="results.get(id).countSoftware <= 0">-</span>&ndash;&gt;-->
+<!--                          </td>-->
+<!--                          <td *ngIf="fetchSoftware.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>-->
 
-                          <td *ngIf="fetchOrps.results.length > 0" class="uk-text-center">
-<!--                            *ngIf="results.get(id).countOrps > 0"-->
-                            <a 
-                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'other', 'false'])"
-                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults">
-                                  {{results.get(id).countOrps | number}}
-                            </a>
-<!--                            <span *ngIf="results.get(id).countOrps <= 0">-</span>-->
-                          </td>
-                          <td *ngIf="fetchOrps.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>
-                        </tr>
-                      </ng-container>
-                    </ng-container>
-                </tbody>
-            </table>
-        </div>
-    `
+<!--                          <td *ngIf="fetchOrps.results.length > 0" class="uk-text-center">-->
+<!--&lt;!&ndash;                            *ngIf="results.get(id).countOrps > 0"&ndash;&gt;-->
+<!--                            <a -->
+<!--                                [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'type', 'qf'], ['resulthostingdatasourceid', id, 'collectedfromdatasourceid', dataproviderId, 'other', 'false'])"-->
+<!--                                routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults" (click)="onLinkClick()">-->
+<!--                                  {{results.get(id).countOrps | number}}-->
+<!--                            </a>-->
+<!--&lt;!&ndash;                            <span *ngIf="results.get(id).countOrps <= 0">-</span>&ndash;&gt;-->
+<!--                          </td>-->
+<!--                          <td *ngIf="fetchOrps.searchUtils.status == errorCodes.ERROR" class="uk-text-center">-</td>-->
+<!--                        </tr>-->
+<!--                      </ng-container>-->
+<!--                    </ng-container>-->
+<!--                </tbody>-->
+<!--            </table>-->
+<!--        </div>-->
+
+
+    <errorMessages  [status]="[fetchResults.searchUtils.status]"
+                    [type]="'related content providers'" tab_error_class=true>
+    </errorMessages>
+    
+    <div *ngIf="fetchResults.searchUtils.status == errorCodes.DONE && !loading">
+      <div class="uk-text-muted uk-margin-bottom">
+        *Only top 100 content providers that host research outcomes and are aggregated by {{collectedFromName}} are shown.
+      </div>
+      <no-load-paging *ngIf="results.length >pageSize"
+                      [type]="'content providers'"
+                      (pageChange)="updatePage($event)"
+                      [page]="page" [pageSize]="pageSize"
+                      [totalResults]="results.length">
+      </no-load-paging>
+    
+      <table class="uk-table uk-table-striped">
+        <thead>
+        <tr>
+          <th class="uk-text-center">Content Provider Name</th>
+          <th *ngIf="fetchResults.results.length > 0 || fetchResults.searchUtils.status == errorCodes.ERROR"
+              class="uk-text-center">
+            Number of Research Outcomes
+          </th>
+        </tr>
+        </thead>
+        <tbody>
+          <ng-container *ngIf="results">
+            <ng-container *ngFor="let result of results; let i=index">
+              <tr *ngIf="i>=(page-1)*pageSize && i<page*pageSize">
+                <td class="uk-text-center">
+                  <a [queryParams]="{datasourceId: result.id}" routerLinkActive="router-link-active" routerLink="/search/dataprovider"
+                     (click)="onLinkClick()">
+                    {{result.name}}
+                  </a>
+                </td>
+                <td *ngIf="fetchResults.results.length > 0" class="uk-text-center">
+                  <a
+                    [queryParams]="routerHelper.createQueryParams(['f0', 'fv0', 'f1', 'fv1', 'f2', 'fv2', 'qf'], ['collectedfromdatasourceid', dataproviderId, 'resulthostingdatasourceid,or', dataproviderId, 'resulthostingdatasourceid', result.id, 'false'])"
+                    routerLinkActive="router-link-active" [routerLink]="properties.searchLinkToAdvancedResults"
+                    (click)="onLinkClick()">
+                    {{result.count | number}}
+                  </a>
+                </td>
+              </tr>
+            </ng-container>
+          </ng-container>
+        </tbody>
+      </table>
+      <no-load-paging *ngIf="results.length >pageSize"
+                      [type]="'content providers'"
+                      (pageChange)="updatePage($event)"
+                      [page]="page" [pageSize]="pageSize"
+                      [totalResults]="results.length">
+      </no-load-paging>
+    </div>
+  `
 })
 
 export class RelatedDatasourcesTabComponent {
     @Input() dataproviderId: string;
-    @Input() fetchPublications : FetchResearchResults;
-    @Input() fetchDatasets : FetchResearchResults;
-    @Input() fetchSoftware : FetchResearchResults;
-    @Input() fetchOrps: FetchResearchResults;
+    // @Input() fetchPublications : FetchResearchResults;
+    // @Input() fetchDatasets : FetchResearchResults;
+    // @Input() fetchSoftware : FetchResearchResults;
+    // @Input() fetchOrps: FetchResearchResults;
+    @Input() fetchResults: FetchResearchResults;
 
     // true: preprocessing is not over
     @Input() loading: boolean = true;
     // Εvery content provider's id is a single key of a map
-    @Input() results: Map<string, {"name": string, "countPublications": string, "countDatasets": string, "countSoftware": string, "countOrps": string}>;
+    //@Input() results: Map<string, {"name": string, "countPublications": string, "countDatasets": string, "countSoftware": string, "countOrps": string}>;
+    @Input() results: {"id": string, "name": string, "count": number}[];
     @Input() properties:EnvProperties ;
+    @Input() collectedFromName: string ="[no title available]";
+    @Input() modal: AlertModal;
 
-    public linkToSearchPublications: string = "";
-    public linkToSearchResearchData: string = "";
-    public linkToSearchSoftware: string = "";
-    public linkToSearchOrps: string = "";
-
     public routerHelper:RouterHelper = new RouterHelper();
     public errorCodes:ErrorCodes = new ErrorCodes();
 
@@ -136,12 +193,7 @@
 
     constructor () {}
 
-    ngOnInit() {
-      this.linkToSearchPublications = this.properties.searchLinkToAdvancedPublications;
-      this.linkToSearchResearchData = this.properties.searchLinkToAdvancedDatasets;
-      this.linkToSearchSoftware     = this.properties.searchLinkToAdvancedSoftware;
-      this.linkToSearchOrps         = this.properties.searchLinkToAdvancedOrps;
-    }
+    ngOnInit() {}
 
     ngOnDestroy() {}
 
@@ -160,4 +212,10 @@
     public getKeys( map) {
       return Array.from(map.keys());
     }
+
+    public onLinkClick() {
+      if(this.modal) {
+        this.modal.cancel();
+      }
+    }
 }
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/utils/entities/dataProviderInfo.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/utils/entities/dataProviderInfo.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/utils/entities/dataProviderInfo.ts	(revision 58259)
@@ -170,5 +170,6 @@
     //projects: any;
     datasources: any;
 
-    relatedDatasources: Map<string, {"name": string, "countPublications": string, "countDatasets": string, "countSoftware": string, "countOrps": string}>;
+    //relatedDatasources: Map<string, {"name": string, "countPublications": string, "countDatasets": string, "countSoftware": string, "countOrps": string}>;
+  relatedDatasources: {"id": string, "name": string, "count": number}[] = [];
 }
Index: modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchResearchResults.class.ts
===================================================================
--- modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchResearchResults.class.ts	(revision 58258)
+++ modules/uoa-services-library/branches/landing-redesign/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchResearchResults.class.ts	(revision 58259)
@@ -183,12 +183,14 @@
     this.searchUtils.status = this.errorCodes.LOADING;
 
     var parameters;
-    if(resultsFrom == "collectedFrom") {
-      parameters = this.getEntityName(resultType,true)+"?fq=collectedfromdatasourceid exact "+'"'+id+'"';
-    } else if(resultsFrom == "hostedBy") {
-      parameters = this.getEntityName(resultType,true)+"?fq=resulthostingdatasourceid exact "+'"'+id+'"';
-    }
+    // if(resultsFrom == "collectedFrom") {
+    //   parameters = this.getEntityName(resultType,true)+"?fq=collectedfromdatasourceid exact "+'"'+id+'"';
+    // } else if(resultsFrom == "hostedBy") {
+    //   parameters = this.getEntityName(resultType,true)+"?fq=resulthostingdatasourceid exact "+'"'+id+'"';
+    // }
 
+    parameters = this.getEntityName(resultType,true)+"?fq=collectedfromdatasourceid exact "+'"'+id+'"' + "or resulthostingdatasourceid exact "+'"'+id+'"';
+
     if(parameters != "") {
 
       this._searchResearchResultsService.searchForDataproviders(this.getEntityName(resultType,false), parameters, page, size, properties).subscribe(
@@ -226,7 +228,8 @@
   public getAggregatorResults(resultType: string, id:string, page: number, size: number, properties:EnvProperties){
     this.searchUtils.status = this.errorCodes.LOADING;
 
-    this.subResults = this._searchResearchResultsService.searchAggregators(this.getEntityName(resultType,false), id, '&fq=collectedfromdatasourceid exact "'+id+'"',"&refine=true&fields=resulthostingdatasource" , page, size, properties).subscribe(
+    // this.getEntityName(resultType,false)
+    this.subResults = this._searchResearchResultsService.searchAggregators(id, '&fq=(collectedfromdatasourceid exact "'+id+'" or resulthostingdatasourceid exact "'+id+'")',"&refine=true&fields=resulthostingdatasource&type="+resultType , page, size, properties).subscribe(
       data => {
         this.results = data;
         this.searchUtils.totalResults = this.results.length;
