Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchDatasets.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchDatasets.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchDatasets.service.ts	(revision 55730)
@@ -239,9 +239,9 @@
             var date:string = (resData.dateofacceptance)+""; // transform to string in case it is an integer
             result.year = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
             if(!Array.isArray(resData.description)) {
-                result.description = resData.description;
+                result.description = String(resData.description);
             } else {
-                result.description = resData.description[0];
+                result.description = String(resData.description[0]);
             }
             if(result.description && result.description.length > this.sizeOfDescription) {
                 result.description = result.description.substring(0, this.sizeOfDescription)+"...";
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchOrps.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchOrps.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchOrps.service.ts	(revision 55730)
@@ -245,15 +245,15 @@
             var date:string = (resData.dateofacceptance)+""; // transform to string in case it is an integer
             result.year = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
             if(!Array.isArray(resData.description)) {
-                result.description = resData.description;
+                result.description = String(resData.description);
             } else {
-                result.description = resData.description[0];
+                result.description = String(resData.description[0]);
             }
             if(result.description && result.description.length > this.sizeOfDescription) {
                 result.description = result.description.substring(0, this.sizeOfDescription)+"...";
             }
 
-            result.embargoEndDate = resData.embargoenddate;
+          result.embargoEndDate = resData.embargoenddate;
 
             if(!Array.isArray(resData.publisher)) {
                 result.publisher = resData.publisher;
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/softwareInfo.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/softwareInfo.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/softwareInfo.ts	(revision 55730)
@@ -14,6 +14,7 @@
                               "type": string, "year":string}[];
     identifiers: Map<string, string[]>;
     publisher: string;
+    journal: {"journal": string, "issn": string, "lissn": string, "eissn": string, "issue": string, "volume": string, "start_page": string, "end_page": string};
     languages: string[];
     countries: string[];
     subjects: string[];
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/login/userMini.component.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/login/userMini.component.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/login/userMini.component.ts	(revision 55730)
@@ -22,7 +22,7 @@
 
   <div *ngIf="loggedIn" class="uk-navbar-dropdown uk-navbar-dropdown-bottom-left"   id="userMenu" (click)="onClick('userMenu')"  >
      <div class="uk-navbar-dropdown-grid uk-child-width-1-1 uk-grid uk-grid-stack" uk-grid="">
-        <div class="uk-first-column">
+        <div class="uk-first-column uk-height-max-medium uk-overflow-auto">
            <ul class="uk-nav uk-navbar-dropdown-nav">
              <!--li><a href="" >My profile</a></li>
              <li><a   routerLinkActive="uk-link" routerLink="/myclaims">My Claims</a></li>
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchSoftware.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchSoftware.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchSoftware.service.ts	(revision 55730)
@@ -256,7 +256,7 @@
 
             var date:string = (resData.dateofacceptance)+""; // transform to string in case it is an integer
             result.year = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
-            result.description = Array.isArray(resData.description) ? resData.description[0] : resData.description;
+            result.description = Array.isArray(resData.description) ? String(resData.description[0]) : String(resData.description);
             if(result.description && result.description.length > this.sizeOfDescription) {
                 result.description = result.description.substring(0, this.sizeOfDescription)+"...";
             }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchPublications.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchPublications.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/services/searchPublications.service.ts	(revision 55730)
@@ -277,9 +277,9 @@
             result.year = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
 
             if(!Array.isArray(resData.description)) {
-                result.description = resData.description;
+                result.description = String(resData.description);
             } else {
-                result.description = resData.description[0];
+                result.description = String(resData.description[0]);
             }
 
             if(result.description && result.description.length > this.sizeOfDescription) {
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchForm.component.html
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchForm.component.html	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchForm.component.html	(revision 55730)
@@ -62,6 +62,16 @@
         </tr>
         </table>
         <div  class=" uk-text-center">
+          <div *ngIf="!validDateFrom && validDateTo" class="uk-text-danger">
+            Please check your <u>from</u> date
+          </div>
+          <div *ngIf="!validDateTo && validDateFrom" class="uk-text-danger">
+            Please check your <u>to</u> date
+          </div>
+          <div *ngIf="!validDateFrom && !validDateTo" class="uk-text-danger">
+            Please check your dates
+          </div>
+
           <button (click)="queryChanged()"  type="submit" class=" uk-button portal-background-color uk-padding uk-padding-remove-top uk-padding-remove-bottom ">
             <span class="uk-icon" ><svg width="30" height="30" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="search" ratio="1.5"><circle fill="none" stroke="#000" stroke-width="1.1" cx="9" cy="9" r="7"></circle><path fill="none" stroke="#000" stroke-width="1.1" d="M14,14 L18,18 L14,14 Z"></path></svg></span>
           </button>
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchForm.component.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchForm.component.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchForm.component.ts	(revision 55730)
@@ -20,6 +20,10 @@
   @Input() simpleSearchLink;
   @Input() pageTitle;
   @Output() queryChange  = new EventEmitter();
+
+  validDateFrom: boolean = true;
+  validDateTo: boolean = true;
+
   newFieldId:string;
   newFieldName:string;
   fieldList:{[id:string]:any[]} = {};
@@ -43,11 +47,33 @@
      }
 
     queryChanged() {
+      this.validDateFrom = true;
+      this.validDateTo = true;
+
+      this.selectedFields.forEach(selectedField => {
+        if(selectedField.type == 'date') {
+          if (selectedField.dateValue.type.indexOf("range") != -1) {
+            if(!Dates.isValidDate(Dates.getDateToString(selectedField.dateValue.from))) {
+              //console.info("INVALID: isValidDate FROM");
+              this.validDateFrom = false;
+            }
+            if(!Dates.isValidDate(Dates.getDateToString(selectedField.dateValue.to))) {
+              //console.info("INVALID: isValidDate TO");
+              this.validDateTo = false;
+            }
+          }
+        }
+      });
+
+      if(this.validDateFrom && this.validDateTo) {
+        //console.info("emit");
+
         this.queryChange.emit({
-            // selectedFields: this.selectedFields,
-            // selectedQuantifiers: this.selectedQuantifiers,
-            // keywords: this.keywords
+          // selectedFields: this.selectedFields,
+          // selectedQuantifiers: this.selectedQuantifiers,
+          // keywords: this.keywords
         });
+      }
     }
 
     addField() {
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/connect/curators/curator.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/connect/curators/curator.service.ts	(nonexistent)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/connect/curators/curator.service.ts	(revision 55730)
@@ -0,0 +1,48 @@
+import {Injectable} from "@angular/core";
+import {HttpClient, HttpHeaders} from "@angular/common/http";
+import {BehaviorSubject, Observable} from "rxjs";
+import {Curator} from "../../utils/entities/CuratorInfo";
+import {EnvProperties} from "../../utils/properties/env-properties";
+import {COOKIE} from "../../login/utils/helper.class";
+
+@Injectable()
+export class CuratorService {
+
+  private curatorsSubject: BehaviorSubject<Curator[]> = new BehaviorSubject([]);
+
+  constructor(private http: HttpClient) {
+  }
+
+  public initCurators(properties: EnvProperties, url: string): void {
+    this.http.get<Curator[]>((properties.useCache) ? (properties.cacheUrl + encodeURIComponent(url)) : url).
+            subscribe((curators) => {
+      this.curatorsSubject.next(curators);
+    });
+  }
+
+  public get curators(): Observable<Curator[]> {
+    return this.curatorsSubject.asObservable();
+  }
+
+  public updateCurator(url: string, curator: Curator) {
+    this.http.post<Curator>(url, {curator: curator}, this.getAuthOptions()).subscribe((res) => {
+      let curators = this.curatorsSubject.value;
+      curator.id = null;
+      curators.push(curator);
+      this.curatorsSubject.next(curators);
+    });
+  }
+
+  public getCurator(properties: EnvProperties, url: string): Observable<Curator> {
+    return this.http.get<Curator>((properties.useCache) ? (properties.cacheUrl + encodeURIComponent(url)) : url);
+  }
+
+  // TODO remove and use CustomOptions.getAuthOptions()
+  private getAuthOptions(): any {
+    const httpOptions = {
+      headers: new HttpHeaders({
+        'X-XSRF-TOKEN': COOKIE.getCookie(COOKIE.cookieName_id),
+      }), withCredentials: true
+    };
+  }
+}
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/orp/orp.component.html
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/orp/orp.component.html	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/orp/orp.component.html	(revision 55730)
@@ -28,7 +28,8 @@
             </div>
 
             <ul class="uk-list">
-              <li *ngIf="orpInfo.publisher"><span class="uk-text-bold">Publisher:</span> {{orpInfo.publisher}}</li>
+              <showPublisher [publisher]="orpInfo.publisher"
+                             [journal]="orpInfo.journal"></showPublisher>
               <li *ngIf="orpInfo.embargoEndDate"><span class="uk-text-bold">Embargo end date:</span> {{orpInfo.embargoEndDate}}</li>
               <li *ngIf="orpInfo.identifiers && orpInfo.identifiers.size > 0">
                 <showIdentifiers [identifiers]="orpInfo.identifiers"></showIdentifiers>
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/orp/orp.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/orp/orp.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/orp/orp.service.ts	(revision 55730)
@@ -43,7 +43,8 @@
                                  res[1]['oaf:result']['language'],  //11
                                  res[1]['oaf:result']['country'], //12
                                  res[2],  //13
-                                 (res[1]['extraInfo']!= undefined && res[1]['extraInfo']['citations']!= undefined)? res[1]['extraInfo']['citations']['citation']:null //14
+                                 (res[1]['extraInfo']!= undefined && res[1]['extraInfo']['citations']!= undefined)? res[1]['extraInfo']['citations']['citation']:null, //14
+                                  res[1]['oaf:result']['journal'] //15
                     ]))
                     .pipe(map(res => this.parseOrpInfo(res)));
   }
@@ -64,9 +65,9 @@
       this.orpInfo.dateofacceptance = data[0].dateofacceptance;
       this.orpInfo.publisher = data[0].publisher;
       if(!Array.isArray(data[0].description)) {
-        this.orpInfo.description = data[0].description;
+        this.orpInfo.description = String(data[0].description);
       } else {
-        this.orpInfo.description = data[0].description[0];
+        this.orpInfo.description = String(data[0].description[0]);
       }
       this.orpInfo.embargoEndDate = data[0].embargoenddate;
     }
@@ -205,7 +206,18 @@
       });
     }
     this.orpInfo.similarResearchResults = this.parsingFunctions.sortByPercentage(this.orpInfo.similarResearchResults);
+    if(data[15] != null) {
+      this.orpInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": "", "issue": "", "volume": "", "start_page": "", "end_page": ""}
 
+      this.orpInfo.journal['journal'] = data[15].content;
+      this.orpInfo.journal['issn'] = data[15].issn;
+      this.orpInfo.journal['lissn'] = data[15].lissn;
+      this.orpInfo.journal['eissn'] = data[15].eissn;
+      this.orpInfo.journal['issue'] = data[15].iss;
+      this.orpInfo.journal['volume'] = data[15].vol;
+      this.orpInfo.journal['start_page'] = data[15].sp;
+      this.orpInfo.journal['end_page'] = data[15].ep;
+    }
 
     return this.orpInfo;
   }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.html
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.html	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.component.html	(revision 55730)
@@ -44,6 +44,8 @@
             </span>
 
             <ul class="uk-list">
+              <showPublisher
+                             [journal]="dataProviderInfo.journal"></showPublisher>
                 <li *ngIf="dataProviderInfo.aggregationStatus && dataProviderInfo.aggregationStatus.fundedContent && dataProviderInfo.aggregationStatus.fundedContent != -1"><span class="uk-text-bold">Results with funding information: </span>
                     {{dataProviderInfo.aggregationStatus.fundedContent | number}}
                 </li>
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.service.ts	(revision 55730)
@@ -29,7 +29,8 @@
                                  res['oaf:datasource']['openairecompatibility'],
                                  res['oaf:datasource']['collectedfrom'],
                                  res['oaf:datasource']['accessinfopackage'],
-                                 res['oaf:datasource']['rels']['rel']
+                                 res['oaf:datasource']['rels']['rel'],
+                                 res['oaf:datasource']['journal'] //6
                      ]))
                      .pipe(map(res => this.parseDataProviderInfo(res)));
 
@@ -221,7 +222,18 @@
                 }
             }
         }
+        if(data[6] != null) {
+            this.dataProviderInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": ""};
+            this.dataProviderInfo.journal['journal'] = data[6].content;
+            this.dataProviderInfo.journal['issn'] = data[6]['issn'];
+            this.dataProviderInfo.journal['lissn'] = data[6]['lissn'];
+            this.dataProviderInfo.journal['eissn'] = data[6]['eissn'];
 
+        }else{
+            this.dataProviderInfo.journal = null;
+            this.dataProviderInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": ""};
+        }
+
         return this.dataProviderInfo;
     }
 }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.module.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.module.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataProvider/dataProvider.module.ts	(revision 55730)
@@ -36,6 +36,7 @@
 import {IsRouteEnabled} from '../../error/isRouteEnabled.guard';
 import {Schema2jsonldModule} from '../../sharedComponents/schema2jsonld/schema2jsonld.module';
 import { SEOServiceModule } from '../../sharedComponents/SEO/SEOService.module';
+import {ShowPublisherModule} from "../landing-utils/showPublisher.module";
 
 @NgModule({
   imports:
@@ -42,7 +43,7 @@
   [CommonModule, FormsModule, RouterModule,
     TabResultModule, IFrameModule, ErrorMessagesModule, MetricsModule, LandingModule,
     DataProvidersServiceModule, DatasetsServiceModule, ProjectsServiceModule, PublicationsServiceModule,
-    SoftwareServiceModule, OrpsServiceModule, PagingModule, Schema2jsonldModule, SEOServiceModule],
+    SoftwareServiceModule, OrpsServiceModule, PagingModule, Schema2jsonldModule, SEOServiceModule, ShowPublisherModule],
   declarations:
   [PublicationsTabComponent, DatasetsTabComponent, StatisticsTabComponent, ProjectsTabComponent, DatasourcesTabComponent, OrganizationsTabComponent,
     RelatedDatasourcesTabComponent, DataProviderComponent, SoftwareTabComponent, OrpsTabComponent
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html	(revision 55730)
@@ -41,9 +41,9 @@
             </div>
 
             <ul class="uk-list">
-                <li *ngIf="datasetInfo.publisher"><span class="uk-text-bold">Publisher:</span> {{datasetInfo.publisher}}</li>
-
-                <li *ngIf="datasetInfo.embargoEndDate"><span class="uk-text-bold">Embargo end date:</span> {{datasetInfo.embargoEndDate}}</li>
+              <showPublisher [publisher]="datasetInfo.publisher"
+                             [journal]="datasetInfo.journal"></showPublisher>
+              <li *ngIf="datasetInfo.embargoEndDate"><span class="uk-text-bold">Embargo end date:</span> {{datasetInfo.embargoEndDate}}</li>
                  <li *ngIf="datasetInfo.identifiers && datasetInfo.identifiers.size > 0">
                   <showIdentifiers [identifiers]="datasetInfo.identifiers"></showIdentifiers>
                 </li>
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataset/dataset.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataset/dataset.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/dataset/dataset.service.ts	(revision 55730)
@@ -45,7 +45,8 @@
                                  res[1]['language'],  //11
                                  res[1]['country'], //12
                                  res[2], //13
-                                 (res[1]['extraInfo']!= undefined && res[1]['extraInfo']['citations']!= undefined)? res[1]['extraInfo']['citations']['citation']:null //14
+                                 (res[1]['extraInfo']!= undefined && res[1]['extraInfo']['citations']!= undefined)? res[1]['extraInfo']['citations']['citation']:null, //14
+                                  res[1]['journal'] //15
                     ]))
                     .pipe(map(res => this.parseDatasetInfo(res)));
   }
@@ -67,9 +68,9 @@
       this.datasetInfo.dateofacceptance = data[0].dateofacceptance;
       this.datasetInfo.publisher = data[0].publisher;
       if(!Array.isArray(data[0].description)) {
-        this.datasetInfo.description = data[0].description;
+        this.datasetInfo.description = String(data[0].description);
       } else {
-        this.datasetInfo.description = data[0].description[0];
+        this.datasetInfo.description = String(data[0].description[0]);
       }
       this.datasetInfo.embargoEndDate = data[0].embargoenddate;
     }
@@ -238,7 +239,18 @@
       });
     }
     this.datasetInfo.similarResearchResults = this.parsingFunctions.sortByPercentage(this.datasetInfo.similarResearchResults);
+    if(data[15] != null) {
+      this.datasetInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": "", "issue": "", "volume": "", "start_page": "", "end_page": ""}
 
+      this.datasetInfo.journal['journal'] = data[15].content;
+      this.datasetInfo.journal['issn'] = data[15].issn;
+      this.datasetInfo.journal['lissn'] = data[15].lissn;
+      this.datasetInfo.journal['eissn'] = data[15].eissn;
+      this.datasetInfo.journal['issue'] = data[15].iss;
+      this.datasetInfo.journal['volume'] = data[15].vol;
+      this.datasetInfo.journal['start_page'] = data[15].sp;
+      this.datasetInfo.journal['end_page'] = data[15].ep;
+    }
 
     return this.datasetInfo;
   }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/publication/publication.component.html
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/publication/publication.component.html	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/publication/publication.component.html	(revision 55730)
@@ -32,49 +32,8 @@
             </div>
 
             <ul class="uk-list">
-                <li *ngIf="publicationInfo.publisher"><span class="uk-text-bold">Publisher:</span> {{publicationInfo.publisher}}</li>
-                <li *ngIf="publicationInfo.journal &&
-                    (publicationInfo.journal['journal'] || publicationInfo.journal['issn'] || publicationInfo.journal['lissn']
-                    || publicationInfo.journal['volume'] || publicationInfo.journal['eissn'] || publicationInfo.journal['issue'])">
-                    <span class="uk-text-bold">Journal:</span>
-                    <span *ngIf="publicationInfo.journal['journal']">{{publicationInfo.journal['journal']}}</span
-                    ><span *ngIf="publicationInfo.journal['journal'] && (publicationInfo.journal['volume'] || publicationInfo.journal['issue'])">,</span>
-                    <span *ngIf="publicationInfo.journal['volume']"
-                        >volume
-                        <span *ngIf="publicationInfo.journal['volume'] > 0">{{publicationInfo.journal['volume'] | number}}</span
-                        ><span *ngIf="!(publicationInfo.journal['volume'] > 0)">{{publicationInfo.journal['volume']}}</span
-                    ><span *ngIf="publicationInfo.journal['issue'] || publicationInfo.journal['start_page'] || publicationInfo.journal['end_page']">,</span>
-                    </span>
-                    <span *ngIf="publicationInfo.journal['issue']"
-                        >issue
-                        <span *ngIf="publicationInfo.journal['issue'] > 0">{{publicationInfo.journal['issue'] | number}}</span
-                        ><span *ngIf="!(publicationInfo.journal['issue'] > 0)">{{publicationInfo.journal['issue']}}</span
-                    ><span *ngIf="publicationInfo.journal['start_page'] || publicationInfo.journal['end_page']">,</span>
-                    </span>
-                    <span *ngIf="(publicationInfo.journal['volume'] || publicationInfo.journal['issue']) &&
-                                (publicationInfo.journal['start_page'] && publicationInfo.journal['end_page'])">pages</span>
-                    <span *ngIf="(publicationInfo.journal['volume'] || publicationInfo.journal['issue']) &&
-                                ((publicationInfo.journal['start_page'] && !publicationInfo.journal['end_page']) ||
-                                (!publicationInfo.journal['start_page'] && publicationInfo.journal['end_page']))">page</span>
-                    <span *ngIf="publicationInfo.journal['start_page']"
-                      ><span *ngIf="publicationInfo.journal['start_page'] > 0">{{publicationInfo.journal['start_page'] | number}}</span
-                      ><span *ngIf="!(publicationInfo.journal['start_page'] > 0)">{{publicationInfo.journal['start_page']}}</span
-                    ></span
-                    ><span *ngIf="publicationInfo.journal['start_page'] && publicationInfo.journal['end_page']">-</span
-                    ><span *ngIf="publicationInfo.journal['end_page']"
-                      ><span *ngIf="publicationInfo.journal['end_page'] > 0">{{publicationInfo.journal['end_page'] | number}}</span
-                      ><span *ngIf="!(publicationInfo.journal['end_page'] > 0)">{{publicationInfo.journal['end_page']}}</span
-                    ></span>
-                    <span *ngIf="publicationInfo.journal['issn'] || publicationInfo.journal['eissn'] || publicationInfo.journal['lissn']">(</span
-                    ><span *ngIf="publicationInfo.journal['issn']">issn: {{publicationInfo.journal['issn']}}<span *ngIf="publicationInfo.journal['eissn'] || publicationInfo.journal['lissn']">, </span
-                    ></span
-                    ><span *ngIf="publicationInfo.journal['eissn']">eissn: {{publicationInfo.journal['eissn']}}<span *ngIf="publicationInfo.journal['lissn']">, </span
-                    ></span
-                    ><span *ngIf="publicationInfo.journal['lissn']">lissn: {{publicationInfo.journal['lissn']}}
-                    ></span
-                    ><span *ngIf="publicationInfo.journal['issn'] || publicationInfo.journal['eissn'] || publicationInfo.journal['lissn']">)</span>
-                </li>
-
+              <showPublisher [publisher]="publicationInfo.publisher"
+                             [journal]="publicationInfo.journal"></showPublisher>
                 <li *ngIf="publicationInfo.embargoEndDate"><span class="uk-text-bold">Embargo end date:</span> {{publicationInfo.embargoEndDate}}</li>
                 <li *ngIf="publicationInfo.identifiers && publicationInfo.identifiers.size > 0">
                   <showIdentifiers [identifiers]="publicationInfo.identifiers"></showIdentifiers>
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/publication/publication.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/publication/publication.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/publication/publication.service.ts	(revision 55730)
@@ -68,9 +68,9 @@
       this.publicationInfo.dateofacceptance = data[0].dateofacceptance;
       this.publicationInfo.publisher = data[0].publisher;
       if(!Array.isArray(data[0].description)) {
-          this.publicationInfo.description = data[0].description;
+          this.publicationInfo.description = String(data[0].description);
       } else {
-          this.publicationInfo.description = data[0].description[0];
+          this.publicationInfo.description = String(data[0].description[0]);
       }
       this.publicationInfo.embargoEndDate = data[0].embargoenddate;
     }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/resultLanding.module.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/resultLanding.module.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/resultLanding.module.ts	(revision 55730)
@@ -12,10 +12,13 @@
 import {PublishedInComponent} from './publishedIn.component';
 import {AvailableOnComponent} from './availableOn.component';
 import {TabTableComponent} from './tabTable.component';
+import {ShowPublisherComponent} from "./showPublisher.component";
+import {ShowPublisherModule} from "./showPublisher.module";
 
+
 @NgModule({
   imports: [
-    CommonModule, FormsModule, RouterModule, PagingModule
+    CommonModule, FormsModule, RouterModule, PagingModule, ShowPublisherModule
   ],
   declarations: [
    ShowAuthorsComponent,ShowIdentifiersComponent,ShowSubjectsComponent,
@@ -24,8 +27,8 @@
   providers:[
   ],
   exports: [
-    ShowAuthorsComponent,ShowIdentifiersComponent,ShowSubjectsComponent,
-    FundedByComponent,PublishedInComponent,AvailableOnComponent,TabTableComponent
+    ShowAuthorsComponent, ShowIdentifiersComponent, ShowSubjectsComponent,
+    FundedByComponent, PublishedInComponent, AvailableOnComponent, TabTableComponent, ShowPublisherComponent
   ]
 })
 export class ResultLandingModule { }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/showPublisher.component.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/showPublisher.component.ts	(nonexistent)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/showPublisher.component.ts	(revision 55730)
@@ -0,0 +1,74 @@
+import {Component, Input} from '@angular/core';
+
+@Component({
+  selector: 'showPublisher',
+  template: `
+    <li *ngIf="publisher"><span class="uk-text-bold">Publisher:</span> {{publisher}}</li>
+    <li *ngIf="journal &&
+                    (journal['journal'] || journal['issn'] || journal['lissn']
+                    || journal['volume'] || journal['eissn'] || journal['issue'])">
+      <span class="uk-text-bold">Journal:</span>
+      <span *ngIf="journal['journal']">{{journal['journal']}}</span
+      ><span *ngIf="journal['journal'] && (journal['volume'] || journal['issue'])">,</span>
+      <span *ngIf="journal['volume']"
+      >volume
+                        <span *ngIf="journal['volume'] > 0">{{journal['volume'] | number}}</span
+                        ><span *ngIf="!(journal['volume'] > 0)">{{journal['volume']}}</span
+        ><span *ngIf="journal['issue'] || journal['start_page'] || journal['end_page']">,</span>
+                    </span>
+      <span *ngIf="journal['issue']"
+      >issue
+                        <span *ngIf="journal['issue'] > 0">{{journal['issue'] | number}}</span
+                        ><span *ngIf="!(journal['issue'] > 0)">{{journal['issue']}}</span
+        ><span *ngIf="journal['start_page'] || journal['end_page']">,</span>
+                    </span>
+      <span *ngIf="(journal['volume'] || journal['issue']) &&
+                                (journal['start_page'] && journal['end_page'])">pages</span>
+      <span *ngIf="(journal['volume'] || journal['issue']) &&
+                                ((journal['start_page'] && !journal['end_page']) ||
+                                (!journal['start_page'] && journal['end_page']))">page</span>
+      <span *ngIf="journal['start_page']"
+      ><span *ngIf="journal['start_page'] > 0">{{journal['start_page'] | number}}</span
+      ><span *ngIf="!(journal['start_page'] > 0)">{{journal['start_page']}}</span
+      ></span
+      ><span *ngIf="journal['start_page'] && journal['end_page']">-</span
+      ><span *ngIf="journal['end_page']"
+      ><span *ngIf="journal['end_page'] > 0">{{journal['end_page'] | number}}</span
+      ><span *ngIf="!(journal['end_page'] > 0)">{{journal['end_page']}}</span
+      ></span>
+        <span *ngIf=" journal['journal'] && (journal['issn'] || journal['eissn'] || journal['lissn'])">(</span
+        ><span *ngIf="journal['issn']">issn: {{journal['issn']}}<span
+        *ngIf="journal['eissn'] || journal['lissn']">, </span
+      ></span
+      ><span *ngIf="journal['eissn']">eissn: {{journal['eissn']}}<span *ngIf="journal['lissn']">, </span
+      ></span
+      ><span *ngIf="journal && journal['lissn']">lissn: {{journal['lissn']}}
+        ></span
+      ><span *ngIf=" journal['journal'] && (journal['issn'] || journal['eissn'] || journal['lissn'])">)</span>
+    </li>
+    <li *ngIf="journal && (journal['issn'] ||
+                journal['lissn'] || journal['eissn'] )">
+                  <span class="custom-external custom-icon"
+                        uk-tooltip="title: Publisher copyright policies & self-archiving">
+                    <a target="_blank"
+                       [href]="sherpaUrl+(journal['issn']?journal['issn']:(journal['eissn']?journal['eissn']:journal['lissn'] ))">
+                      Link to Sherpa/RoMEO</a></span>
+    </li>
+
+  `
+})
+
+export class ShowPublisherComponent {
+  @Input() publisher;
+  @Input() journal;
+  @Input() sherpaUrl = 'http://www.sherpa.ac.uk/romeo/search.php?issn=';
+
+
+  constructor() {
+
+  }
+
+  ngOnInit() {
+  }
+
+}
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/showPublisher.module.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/showPublisher.module.ts	(nonexistent)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/landing-utils/showPublisher.module.ts	(revision 55730)
@@ -0,0 +1,18 @@
+import {NgModule} from '@angular/core';
+import {CommonModule} from '@angular/common';
+import {ShowPublisherComponent} from "./showPublisher.component";
+
+@NgModule({
+  imports: [
+    CommonModule
+  ],
+  declarations: [
+    ShowPublisherComponent
+  ],
+  providers:[
+  ],
+  exports: [
+    ShowPublisherComponent
+  ]
+})
+export class ShowPublisherModule { }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/software/software.component.html
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/software/software.component.html	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/software/software.component.html	(revision 55730)
@@ -38,7 +38,8 @@
             </div>
 
             <ul class="uk-list">
-                <li *ngIf="softwareInfo.publisher"><span class="uk-text-bold">Publisher:</span> {{softwareInfo.publisher}}</li>
+              <showPublisher [publisher]="softwareInfo.publisher"
+                             [journal]="softwareInfo.journal"></showPublisher>
 
                 <li *ngIf="softwareInfo.embargoEndDate"><span class="uk-text-bold">Embargo end date:</span> {{softwareInfo.embargoEndDate}}</li>
                  <li *ngIf="softwareInfo.identifiers && softwareInfo.identifiers.size > 0">
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/software/software.service.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/software/software.service.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/landingPages/software/software.service.ts	(revision 55730)
@@ -45,7 +45,8 @@
                                  res[1]['language'],
                                  res[1]['country'],
                                  res[1]['programmingLanguage'],
-                                 res[2]
+                                 res[2],
+                                res[1]['journal'] //15
                     ]))
                     .pipe(map(res => this.parseSoftwareInfo(res)));
   }
@@ -66,9 +67,9 @@
       this.softwareInfo.dateofacceptance = data[0].dateofacceptance;
       this.softwareInfo.publisher = data[0].publisher;
       if(!Array.isArray(data[0].description)) {
-        this.softwareInfo.description = data[0].description;
+        this.softwareInfo.description = String(data[0].description);
       } else {
-        this.softwareInfo.description = data[0].description[0];
+        this.softwareInfo.description = String(data[0].description[0]);
       }
       this.softwareInfo.embargoEndDate = data[0].embargoenddate;
     }
@@ -226,7 +227,18 @@
       });
     }
     this.softwareInfo.similarResearchResults = this.parsingFunctions.sortByPercentage(this.softwareInfo.similarResearchResults);
+    if(data[15] != null) {
+      this.softwareInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": "", "issue": "", "volume": "", "start_page": "", "end_page": ""}
 
+      this.softwareInfo.journal['journal'] = data[15].content;
+      this.softwareInfo.journal['issn'] = data[15].issn;
+      this.softwareInfo.journal['lissn'] = data[15].lissn;
+      this.softwareInfo.journal['eissn'] = data[15].eissn;
+      this.softwareInfo.journal['issue'] = data[15].iss;
+      this.softwareInfo.journal['volume'] = data[15].vol;
+      this.softwareInfo.journal['start_page'] = data[15].sp;
+      this.softwareInfo.journal['end_page'] = data[15].ep;
+    }
     return this.softwareInfo;
   }
 }
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/CuratorInfo.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/CuratorInfo.ts	(nonexistent)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/CuratorInfo.ts	(revision 55730)
@@ -0,0 +1,17 @@
+export class Curator {
+
+  id: string = null;
+  email: string;
+  name: string;
+  surname: string;
+  affiliations: Affiliation[];
+  photo: string;
+  bio: string;
+}
+
+export class Affiliation {
+
+  name: string;
+  logoUrl: string;
+  websiteUrl: string;
+}
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/orpInfo.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/orpInfo.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/orpInfo.ts	(revision 55730)
@@ -13,6 +13,7 @@
                               "type": string, "year":string}[];
     identifiers: Map<string, string[]>;
     publisher: string;
+    journal: {"journal": string, "issn": string, "lissn": string, "eissn": string, "issue": string, "volume": string, "start_page": string, "end_page": string};
     languages: string[];
     countries: string[];
     subjects: string[];
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/dataProviderInfo.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/dataProviderInfo.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/dataProviderInfo.ts	(revision 55730)
@@ -9,6 +9,7 @@
     r3DataId: string;
     originalId: string;
     countries: string[];
+    journal: {"journal": "", "issn": string, "lissn": string, "eissn": string};
 
     aggregationStatus: {"fundedContent": string, "indexRecords": string, "fulltexts": string}; //collected from datasource api
 
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/datasetInfo.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/datasetInfo.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/utils/entities/datasetInfo.ts	(revision 55730)
@@ -15,6 +15,7 @@
                               "type": string, "year":string}[];
     identifiers: Map<string, string[]>;
     publisher: string;
+    journal: {"journal": string, "issn": string, "lissn": string, "eissn": string, "issue": string, "volume": string, "start_page": string, "end_page": string};
     languages: string[];
     countries: string[];
     subjects: string[];
Index: modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/login/utils/helper.class.ts
===================================================================
--- modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/login/utils/helper.class.ts	(revision 55729)
+++ modules/uoa-services-library/branches/angular7/ng-openaire-library/src/app/login/utils/helper.class.ts	(revision 55730)
@@ -210,16 +210,19 @@
       this.setCookie(name, '', -1);
   }
   public static setCookie(name: string, value: string, expireDays: number, path: string = '/') {
+    //TODO fix domain?
       let d:Date = new Date();
       d.setTime(d.getTime() + expireDays * 24 * 60 * 60 * 1000);
       let expires:string = `expires=${d.toUTCString()}`;
       // let cpath:string = path ? `; path=${path}` : '';
       let domain = "";
-      if(document.domain.indexOf(".di.uoa.gr")!= -1){ // for development
-        domain = ".di.uoa.gr";
-      }else if(document.domain.indexOf(".openaire.eu") != -1){
-        domain = ".openaire.eu";
+      if(typeof document !== 'undefined'){
+        if(document.domain.indexOf(".di.uoa.gr")!= -1){ // for development
+          domain = ".di.uoa.gr";
+        }else if(document.domain.indexOf(".openaire.eu") != -1){
+          domain = ".openaire.eu";
+        }
+        document.cookie = name+'='+value+'; path='+path+'; domain='+domain+';';
       }
-      document.cookie = name+'='+value+'; path='+path+'; domain='+domain+';';
   }
 }
