Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.component.html
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.component.html	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.component.html	(nonexistent)
@@ -1,563 +0,0 @@
-<div id="tm-main" class=" uk-section uk-padding-remove-top uk-margin-small-top tm-middle">
-  <div uk-grid >
-    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first ">
-
-      <div class="uk-container publication">
-        <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning  uk-margin-large-top"
-             role="alert">{{warningMessage}}</div>
-        <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger  uk-margin-large-top"
-             role="alert">{{errorMessage}}</div>
-        <div [style.display]="showLoading ? 'inline' : 'none'"
-             class="uk-animation-fade uk-margin-large-top  uk-width-1-1" role="alert"><span
-          class="loading-gif  uk-align-center"></span></div>
-        <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
-                [texts]="pageContents['top']"></helper>
-        <div *ngIf="publicationInfo != null"  class="uk-grid">
-
-          <div class="uk-width-2-3@m uk-width-1-1@s  uk-margin-bottom">
-            <schema2jsonld *ngIf="publicationInfo.record" [data]=publicationInfo.record
-                           [URL]="properties.baseLink+'/search/publication?articleId='+articleId"></schema2jsonld>
-            <showTitle [titleName]="publicationInfo.title"></showTitle>
-            <span *ngIf="publicationInfo.types && publicationInfo.types.length > 0"
-                  class="uk-label custom-label label-blue label-publication"
-                  title="Type">{{publicationInfo.types.join(", ")}}</span>{{" "}}
-            <span *ngIf="publicationInfo.languages && publicationInfo.languages.length > 0"
-                  class="uk-label custom-label  label-language "
-                  title="Language">{{publicationInfo.languages.join(", ")}}</span>{{" "}}
-            <span *ngIf="publicationInfo.countries && publicationInfo.countries.length > 0"
-                  class="uk-label custom-label  label-country "
-                  title="Country">{{publicationInfo.countries.join(", ")}}</span>{{" "}}
-            <!-- <span *ngIf="publicationInfo.title && publicationInfo.title.accessMode" [class]="'uk-label custom-label  label-'+ publicationInfo.title.accessMode ">{{publicationInfo.title.accessMode}}</span> -->
-            <span *ngIf="publicationInfo.accessMode"
-                  [class]="'uk-label custom-label  label-'+ publicationInfo.accessMode "
-                  title="Access Mode">{{publicationInfo.accessMode}}</span>{{" "}}
-
-            <span *ngIf="publicationInfo.underCurationMessage" class="uk-label custom-label label-underCuration">
-              <span uk-tooltip="pos:right; delay:10"
-                    title="{{buildCurationTooltip()}}">
-              <i>Record in preview</i>
-              <i class="uk-icon-info-circle"></i>
-            </span></span>{{" "}}
-
-
-            <div class=" uk-margin-top">
-              <showAuthors [authors]="publicationInfo.authors"></showAuthors>
-              <span *ngIf="publicationInfo.date != ''">({{publicationInfo.date}})</span>
-            </div>
-
-            <ul class="uk-list">
-              <showPublisher [publisher]="publicationInfo.publisher"
-                             [journal]="publicationInfo.journal" [properties]="properties"></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>
-              </li>
-              <li
-                *ngIf="publicationInfo.subjects || publicationInfo.otherSubjects ||  publicationInfo.classifiedSubjects">
-                <showSubjects [subjects]="publicationInfo.subjects"
-                              [otherSubjects]="publicationInfo.otherSubjects"
-                              [classifiedSubjects]="publicationInfo.classifiedSubjects">
-                </showSubjects>
-              </li>
-            </ul>
-            <hr *ngIf="publicationInfo.description">
-            <div *ngIf="publicationInfo.description"
-                 class="uk-text-justify descriptionText uk-height-max-medium uk-overflow-auto">
-                <span>{{publicationInfo.description.substring(0, showNumDescription)}}</span
-                ><!--span *ngIf="showNumDescription > thresholdDescription">
-                  <a (click)="showNumDescription = thresholdDescription; scroll()">
-                    View less
-                  </a>
-                </span
-                --><span
-              *ngIf="showNumDescription == thresholdDescription && publicationInfo.description.length > thresholdDescription">...</span
-            ><span
-              *ngIf="showNumDescription == thresholdDescription && publicationInfo.description.length > thresholdDescription"
-              class="uk-text-right">
-                  <a (click)="showNumDescription = publicationInfo.description.length;">
-                    View more
-                  </a>
-                </span>
-            </div>
-            <div *ngIf="publicationInfo.description && showNumDescription > thresholdDescription"
-                 class="uk-width-1-1 uk-text-right">
-              <!-- scroll() -->
-              <a (click)="showNumDescription = thresholdDescription;">
-                View less
-              </a>
-            </div>
-
-
-            <ul class="custom-accordion" uk-accordion>
-
-              <li *ngIf="publicationInfo.references" (click)="activeTab='References'">
-                <a class="uk-accordion-title" href="#">
-                  References
-                  <!-- <span *ngIf="!publicationInfo.references" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="publicationInfo.references" class="uk-badge uk-badge-notification">
-                      {{publicationInfo.references.length | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{publicationInfo.references.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!publicationInfo.references" class = "uk-alert  uk-alert-primary" >
-                      No references available
-                  </div>
-
-                  <div *ngIf="publicationInfo.references"> -->
-                  <div>
-                    <div *ngIf="publicationInfo.references.length > pageSize" class="uk-margin-bottom">
-                      <span class="uk-h6">{{publicationInfo.references.length | number}}
-                        references, page {{referencesPage | number}}
-                        of {{totalPages(publicationInfo.references.length) | number}}</span>
-                      <paging-no-load class="uk-float-right" [currentPage]="referencesPage"
-                                      [totalResults]="publicationInfo.references.length" [size]="pageSize"
-                                      (pageChange)="updateReferencesPage($event)"></paging-no-load>
-                    </div>
-
-                    <div
-                      *ngFor="let item of publicationInfo.references.slice((referencesPage-1)*pageSize, referencesPage*pageSize)">
-                      <p *ngIf=" item && item['url']"
-                         class="custom-external custom-icon">
-                        <a href="{{item['url']}}" target="_blank">
-                          {{item['name']}}
-                        </a>
-                      </p>
-                      <p *ngIf="!item['url']" class="pseudo-external custom-icon">
-                        {{item['name']}}
-                      </p>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="publicationInfo.relatedResearchResults" (click)="activeTab='Related Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Related Research Results
-                  <!-- <span *ngIf="!publicationInfo.relatedResearchResults" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="publicationInfo.relatedResearchResults" class="uk-badge uk-badge-notification">
-                      {{relatedResearchResultsNum | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{relatedResearchResultsNum | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!publicationInfo.relatedResearchResults" class = "uk-alert  uk-alert-primary">
-                      No related research results available
-                  </div>
-                  <div *ngIf="publicationInfo.relatedResearchResults"> -->
-                  <div>
-                    <div *ngFor="let provenanceaction of getKeys(publicationInfo.relatedResearchResults)">
-                      <div class="uk-text-large">{{provenanceaction}}</div>
-
-                      <tabTable percentageName="trust"
-                                [info]="publicationInfo.relatedResearchResults.get(provenanceaction)"
-                                [properties]=properties></tabTable>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="publicationInfo.similarResearchResults" (click)="activeTab='Similar Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Similar Research Results
-                  <!-- <span *ngIf="!publicationInfo.similarResearchResults" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="publicationInfo.similarResearchResults" class="uk-badge uk-badge-notification">
-                      {{publicationInfo.similarResearchResults.length | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{publicationInfo.similarResearchResults.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!publicationInfo.similarResearchResults" class = "uk-alert  uk-alert-primary" >
-                      No similar research results available
-                  </div>
-
-                  <div *ngIf="publicationInfo.similarResearchResults"> -->
-                  <div>
-                    <tabTable percentageName="similarity" [info]="publicationInfo.similarResearchResults"
-                              [properties]=properties></tabTable>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="publicationInfo.organizations" (click)="activeTab='Related Organizations'">
-                <a class="uk-accordion-title" href="#">
-                  Related Organizations
-                  <!-- <span *ngIf="!publicationInfo.organizations" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="publicationInfo.organizations" class="uk-badge uk-badge-notification">
-                      {{publicationInfo.organizations.length | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{publicationInfo.organizations.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!publicationInfo.organizations" class = "uk-alert  uk-alert-primary">
-                      No related organizations available
-                  </div>
-                  <div *ngIf="publicationInfo.organizations"> -->
-                  <div>
-                    <div *ngIf="publicationInfo.organizations.length > pageSize" class="uk-margin-bottom">
-                      <span class="uk-text-bold">{{publicationInfo.organizations.length | number}}
-                        organizations, page {{organizationsPage | number}}
-                        of {{totalPages(publicationInfo.organizations.length) | number}}</span>
-                      <paging-no-load class="uk-float-right" [currentPage]="organizationsPage"
-                                      [totalResults]="publicationInfo.organizations.length" [size]="pageSize"
-                                      (pageChange)="updateOrganizationsPage($event)"></paging-no-load>
-                    </div>
-
-                    <table class="uk-table uk-table-small uk-table-divider uk-table-middle ">
-                      <tbody>
-                      <tr
-                        *ngFor="let organization of publicationInfo.organizations.slice((organizationsPage-1)*pageSize, organizationsPage*pageSize)">
-                        <td>
-                          <a *ngIf="(organization['id']) && ((organization['name']) || (organization['shortname']))"
-                             [queryParams]="{organizationId: organization.id}" routerLinkActive="router-link-active"
-                             routerLink="/search/organization">
-                            {{organization['name']}}
-                            <span *ngIf="organization.name && organization.shortname"> ( </span>
-                            <span *ngIf="organization.shortname">{{organization.shortname}}</span>
-                            <span *ngIf="organization.name && organization.shortname"> ) </span>
-                          </a>
-                          <p *ngIf="(!organization['id']) && ((organization['name']) || (organization['shortname']))">
-                            {{organization['name']}}
-                            <span *ngIf="organization.name && organization.shortname"> ( </span>
-                            <span *ngIf="organization.shortname">{{organization.shortname}}</span>
-                            <span *ngIf="organization.name && organization.shortname"> ) </span>
-                          </p>
-                          <div *ngIf="organization.country">{{organization.country}}</div>
-                          <div *ngIf="organization.websiteUrl">Website url:
-                            <a href="{{organization.websiteUrl}}" target="_blank">{{organization.websiteUrl}}</a>
-                          </div>
-                        </td>
-                        <td>
-                          <div *ngIf="organization['trust']" title="{{organization['trust']}}%">
-                            <div class="uk-text-center">{{organization['trust']}}%</div>
-                            <progress class="uk-progress uk-margin-remove" value="{{organization['trust']}}"
-                                      max="100"></progress>
-                          </div>
-                          <div *ngIf="!organization['trust']">
-                            <p>no trust available</p>
-                          </div>
-                        </td>
-                      </tr>
-                      </tbody>
-                    </table>
-
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="publicationInfo.bioentities" (click)="activeTab='Bioentities'">
-                <a class="uk-accordion-title" href="#">
-                  Bioentities
-                  <!-- <span *ngIf="!publicationInfo.bioentities" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="publicationInfo.bioentities" class="uk-badge uk-badge-notification">
-                      {{publicationInfo.bioentitiesNum | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{bioentitiesNum | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <div *ngIf="publicationInfo.bioentities && bioentitiesNum > pageSize" class="uk-margin-bottom">
-                    <span class="uk-text-bold"> {{bioentitiesNum | number}}
-                      bioentities, page {{bioentitiesPage | number}} of {{totalPages(bioentitiesNum) | number}}</span>
-                    <paging-no-load class="uk-float-right" [currentPage]="bioentitiesPage"
-                                    [totalResults]="bioentitiesNum" [size]="pageSize"
-                                    (pageChange)="updateBioentitiesPage($event)"></paging-no-load>
-                  </div>
-
-                  <table id="bioentitiesTable" class="uk-table ">
-                    <tbody>
-                    <ng-container *ngFor="let key of getKeys(publicationInfo.bioentities) let i=index">
-                      <tr
-                        *ngFor="let keyIn of keysToArray(publicationInfo.bioentities.get(key)).slice((bioentitiesPage-1)*pageSize, bioentitiesPage*pageSize)">
-                        <td class="uk-text-center" *ngIf="keyIn">
-                                         <span class="custom-external custom-icon">
-                                             <a href="{{publicationInfo.bioentities.get(key).get(keyIn)}}"
-                                                target="_blank">
-                                                 {{keyIn}}
-                                             </a>
-                                         </span>
-                        </td>
-                        <td class="uk-text-center">
-                          {{key}}
-                        </td>
-                      </tr>
-                    </ng-container>
-                    </tbody>
-                  </table>
-                </div>
-              </li>
-
-              <li *ngIf="publicationInfo.software" (click)="activeTab='Software'">
-                <a class="uk-accordion-title" href="#">
-                  Software
-                  <!-- <span *ngIf="!publicationInfo.software" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="publicationInfo.software" class="uk-badge uk-badge-notification">
-                      {{publicationInfo.software.length | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{publicationInfo.software.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <div *ngIf="publicationInfo.software && publicationInfo.software.length > pageSize"
-                       class="uk-margin-bottom">
-                    <span class="uk-text-bold">{{publicationInfo.software.length | number}}
-                      software results, page {{softwarePage | number}}
-                      of {{totalPages(publicationInfo.software.length) | number}}</span>
-                    <paging-no-load class="uk-float-right" [currentPage]="softwarePage"
-                                    [totalResults]="publicationInfo.software.length" [size]="pageSize"
-                                    (pageChange)="updateSoftwarePage($event)"></paging-no-load>
-                  </div>
-
-                  <table id="softwareTable" class="uk-table ">
-                    <tbody>
-                    <tr
-                      *ngFor="let item of publicationInfo.software.slice((softwarePage-1)*pageSize, softwarePage*pageSize)"
-                      class="uk-text-center">
-                      <td>
-                                        <span class="custom-external custom-icon">
-                                            <a href="{{item.url}}" target="_blank">
-                                                {{item.name}}
-                                            </a>
-                                        </span>
-                      </td>
-                    </tr>
-                    </tbody>
-                  </table>
-                </div>
-              </li>
-
-              <li (click)="activeTab='Other Citations'"
-                  *ngIf="publicationInfo.openCitations && publicationInfo.openCitations.length > 0">
-                <a class="uk-accordion-title" href="#">
-                  Open Citations
-                  ({{publicationInfo.openCitations.length | number}})
-                </a>
-                <div class="uk-accordion-content">
-                  <div *ngIf="publicationInfo.openCitations.length > pageSize" class="uk-margin-bottom">
-                    <span class="uk-h6">{{publicationInfo.openCitations.length | number}}
-                      open citations, page {{openCitationsPage | number}}
-                      of {{totalPages(publicationInfo.openCitations.length) | number}}</span>
-                    <paging-no-load class="uk-float-right" [currentPage]="openCitationsPage"
-                                    [totalResults]="publicationInfo.openCitations.length" [size]="pageSize"
-                                    (pageChange)="updateOpenCitationsPage($event)"></paging-no-load>
-                  </div>
-
-                  <ul class="uk-list uk-list-divider  uk-margin">
-                    <li
-                      *ngFor="let result of publicationInfo.openCitations.slice((openCitationsPage-1)*pageSize, openCitationsPage*pageSize)">
-                      <!-- <h5>
-                          <span *ngIf="result.url" class="custom-external custom-icon" >
-                            <a target="_blank" [href]="result.url" *ngIf="result['title']" [innerHTML]="result['title']"></a>
-                            <a target="_blank" [href]="result.url" *ngIf="!result['title']">[no title available]</a>
-                          </span>
-                          <p *ngIf="!result.url && result['title']"><span [innerHTML]="result['title']"></span></p>
-                          <p *ngIf="!result.url && !result['title']">[no title available]</p>
-                      </h5> -->
-
-                      <h5 *ngIf="result.title">
-                              <span *ngIf="result.url"
-                                    class="custom-external">
-
-                                  <a *ngIf="result.title" href="{{result.url}}" target="_blank"
-                                     [innerHTML]="result.title">
-                                  </a>
-                                  <a *ngIf="!result.title" href="{{result.url}}" target="_blank">
-                                      [no title available]
-                                  </a>
-                              </span>
-                        <span *ngIf="result.title && !result.url" [innerHTML]="result.title"></span>
-                        <span *ngIf="!result.title && !result.url">
-                                  [no title available]
-                              </span>
-                      </h5>
-
-                      <div>
-                              <span *ngIf="result['authors']">
-                                  <span *ngFor="let author of result['authors'].slice(0,15)">
-                                      {{author}};
-                                  </span>
-                                  <span *ngIf="result['authors'].length > 15">...</span>
-                              </span>
-                        <span *ngIf="result.year">
-                                  ({{result.year}})
-                              </span>
-                      </div>
-                      <span *ngIf="result.doi">Identifier: <a *ngIf="result.doi" target="_blank"
-                                                              class="custom-external custom-icon"
-                                                              href="{{doiURL}}{{result.doi}}">doi: {{result.doi}}</a></span>
-                    </li>
-                  </ul>
-                </div>
-              </li>
-
-              <li (click)="metricsClicked=true; activeTab='Metrics'">
-                <a class="uk-accordion-title" href="#">
-                  Metrics
-                </a>
-                <div class="uk-accordion-content">
-                  <metrics [pageViews]="pageViews"
-                           [id]="articleId" [entityType]="'results'" [entity]="'Publication'"
-                           (metricsResults)="metricsResults($event)" [properties]=properties>
-                  </metrics>
-                  <!--i-frame *ngIf="metricsClicked" [url]=viewsFrameUrl width="100%" height="250"></i-frame-->
-                  <i-frame *ngIf="metricsClicked && totalViews>0"
-                           [url]=viewsFrameUrl width="100%" height="250">
-                  </i-frame>
-                  <i-frame *ngIf="metricsClicked && totalDownloads>0"
-                           [url]=downloadsFrameUrl width="100%" height="250">
-                  </i-frame>
-                </div>
-              </li>
-
-              <li (click)="activeTab='Other Versions'"
-                  *ngIf="properties.environment != 'production' && publicationInfo.deletedByInferenceIds">
-                <a class="uk-accordion-title" href="#">
-                  Other Versions
-                  ({{publicationInfo.deletedByInferenceIds.length | number}})
-                </a>
-                <div *ngIf="activeTab=='Other Versions'" class="uk-accordion-content">
-                  <deletedByInference [id]="articleId" [ids]="publicationInfo.deletedByInferenceIds"
-                                      [type]="'publications'"></deletedByInference>
-                </div>
-              </li>
-            </ul>
-
-          </div>
-
-          <div class="uk-width-1-3@m uk-width-1-1@s">
-            <div *ngIf="isRouteAvailable('participate/direct-claim') " class=" uk-padding-small">
-              <button class="  uk-button portal-button   uk-width-1-1 ">
-             <span class="uk-icon">
-                  <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20"
-                       height="25"><path
-                    d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"
-                    fill="none" stroke="#000" stroke-width="1.1"></path><path
-                    d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"
-                    fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975"
-                                                                              fill="none" stroke="#000"
-                                                                              stroke-width="1.1"></path></svg>
-                </span> Link this publication to...
-              </button>
-
-              <div class="  uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "
-                   uk-dropdown="mode:click">
-                <div class="uk-grid    uk-child-width-1-3  uk-width-large ">
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','project'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
-                  >
-                    <button class="uk-icon-button portal-button">
-                   <span class="uk-icon">
-                        <svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20"
-                             xmlns="http://www.w3.org/2000/svg"><rect height="1" width="10" x="5" y="2"></rect><rect
-                          height="1" width="14" x="3" y="4"></rect><rect fill="none" height="11" stroke="#000"
-                                                                         width="17" x="1.5" y="6.5"></rect></svg></span>
-                    </button>
-                    <div>Projects</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','result'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
-                    <button class="uk-icon-button portal-button">
-                      <span class="uk-icon">
-                           <svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
-                                                                         width="12" x="3.5" y="2.5"></rect><polyline
-                             fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>
-                    </button>
-                    <div>Research results</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','context'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
-                    <button class="uk-icon-button portal-button">
-                <span class="uk-icon">
-                           <svg height="20" icon="users" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><circle cx="7.7" cy="8.6" fill="none" r="3.5"
-                                                                           stroke="#000" stroke-width="1.1"></circle><path
-                             d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
-                             stroke="#000" stroke-width="1.1"></path><path
-                             d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
-                             fill="none" stroke="#000" stroke-width="1.1"></path></svg></span>
-                    </button>
-                    <div>Communities</div>
-                  </a></div>
-                </div>
-              </div>
-            </div>
-            <div>
-              <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share - Bookmark</div>
-              <addThis></addThis>
-            </div>
-            <altmetrics *ngIf="publicationInfo.identifiers && publicationInfo.identifiers.get('doi')"
-                        id="{{publicationInfo.identifiers.get('doi')[0]}}" type="doi">
-            </altmetrics>
-            <ul class="uk-list uk-margin-remove-bottom">
-
-              <li *ngIf="publicationInfo.hostedBy_collectedFrom && publicationInfo.hostedBy_collectedFrom.length > 0">
-                <availableOn [availableOn]="publicationInfo.hostedBy_collectedFrom"></availableOn>
-              </li>
-              <li
-                *ngIf="publicationInfo.fundedByProjects != undefined && publicationInfo.fundedByProjects.length > 0">
-                <fundedBy [fundedByProjects]="publicationInfo.fundedByProjects"></fundedBy>
-              </li>
-
-              <li *ngIf="publicationInfo.contexts && publicationInfo.contexts.length >0 ">
-                <dl class="uk-description-list-line">
-                  <dt class="sideInfoTitle">Related to</dt>
-                  <dd class="line" *ngFor="let item of publicationInfo.contexts">
-                          <span *ngIf="!item['inline']">
-                            <span>{{item['labelContext']}}</span>
-                            <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                            <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                          </span>
-                    <mark *ngIf="item['inline']">
-                      <span>{{item['labelContext']}}</span>
-                      <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                      <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                    </mark>
-                  </dd>
-                </dl>
-
-              </li>
-              <li>
-                <!--metrics [pageViews]="pageViews" shortView=true
-                    [id]="articleId" [entityType]="'results'" [entity]="'Publication'"
-                    (metricsResults)="metricsResults($event)" [(properties)] = properties>
-                </metrics-->
-              </li>
-              <li>
-
-                <div class=" sideInfoTitle  cite-this-button uk-width-1-1" type="button">
-                  Cite this publication
-                </div>
-                <div class=" ">
-                  <citeThis [result]="publicationInfo" [id]="articleId" type="publication"></citeThis>
-                </div>
-              </li>
-              </ul>
-
-
-          </div>
-        </div>
-        <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
-                [texts]="pageContents['bottom']"></helper>
-      </div>
-
-      </div>
-
-    </div>
-  </div>
-
-
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.service.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.service.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.service.ts	(nonexistent)
@@ -1,423 +0,0 @@
-import {Injectable} from '@angular/core';
-import {HttpClient, HttpErrorResponse} from "@angular/common/http";
-import {throwError} from 'rxjs';
-import {PublicationInfo} from '../../utils/entities/publicationInfo';
-import {EnvProperties} from '../../utils/properties/env-properties';
-import {ParsingFunctions} from '../landing-utils/parsingFunctions.class';
-import {map} from "rxjs/operators";
-
-@Injectable()
-export class PublicationService {
-
-  constructor(private http: HttpClient ) {
-    this.parsingFunctions = new ParsingFunctions();
-  }
-
-  public parsingFunctions: ParsingFunctions;
-  publicationInfo: PublicationInfo;
-
-  getPublicationInfo (id: string, properties:EnvProperties):any {
-    let url = properties.searchAPIURLLAst + 'publications/' +id+"?format=json";
-    let key = url;
-
-    return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
-                //.map(res => <any> res.json())
-                .pipe(map(res => [res['result']['header']['dri:status'], res['result']['metadata']['oaf:entity'], res]))
-                .pipe(map(res => [ res[1]['oaf:result'], //0
-                              res[1]['oaf:result']['title'],  //1
-                              res[1]['oaf:result']['rels']['rel'],  //2
-                              res[1]['oaf:result']['children'], //3
-                              res[1]['oaf:result']['pid'],  //4
-                              res[1]['oaf:result']['journal'],  //5
-                              res[1]['oaf:result']['language'], //6
-                              res[1]['oaf:result']['subject'],  //7
-                              res[1]['oaf:result']['bestaccessright'],  //8
-                              res[1]['oaf:result']['collectedfrom'],  //9
-                              (res[1]['extraInfo']!= undefined && res[1]['extraInfo']['citations']!= undefined)? res[1]['extraInfo']['citations']['citation']:null, //10
-                              res[1]['oaf:result']['context'],  //11
-                              res[0], //12
-                              res[1]['oaf:result']['creator'],  //13
-                              res[2], //14
-                              res[1]['oaf:result']['country']  //15
-                ]))
-                .pipe(map(res => this.parsePublicationInfo(res, properties)));
-  }
-
-  private handleError (error: HttpErrorResponse) {
-  // in a real world app, we may send the error to some remote logging infrastructure
-  // instead of just logging it to the console
-    console.log(error);
-    return throwError(error  || 'Server error');
-  }
-
-  parsePublicationInfo (data: any, properties: EnvProperties):any {
-    this.publicationInfo = new PublicationInfo();
-    this.publicationInfo.record = data[14];
-    if(data[0] != null) {
-      var date:string = (data[0].dateofacceptance)+""; // transform to string in case it is an integer
-      this.publicationInfo.date  = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
-      this.publicationInfo.dateofacceptance = data[0].dateofacceptance;
-      this.publicationInfo.publisher = data[0].publisher;
-      if(!Array.isArray(data[0].description)) {
-          this.publicationInfo.description = String(data[0].description);
-      } else {
-          this.publicationInfo.description = String(data[0].description[0]);
-      }
-      this.publicationInfo.embargoEndDate = data[0].embargoenddate;
-    }
-
-/*
-    this.publicationInfo.title = {"name": "", "url": "", "accessMode": ""};
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.publicationInfo.title.accessMode = data[0]['bestaccessright'].classid;
-    }
-
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.publicationInfo.title['name'] = data[1][0].content;
-      } else {
-        this.publicationInfo.title['name'] = data[1].content;
-      }
-    }
-*/
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.publicationInfo.accessMode = data[0]['bestaccessright'].classid;
-    }
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.publicationInfo.title = String(data[1][0].content);
-      } else {
-        this.publicationInfo.title = String(data[1].content);
-      }
-    }
-
-    if(data[2] != null) {
-      let relation;
-      let length = Array.isArray(data[2]) ? data[2].length : 1;
-
-      for(let i=0; i<length; i++) {
-        relation = Array.isArray(data[2]) ? data[2][i] : data[2];
-        if(relation.hasOwnProperty("to")) {
-          if(relation['to'].class == "isProducedBy") {
-            this.publicationInfo.fundedByProjects = this.parsingFunctions.parseFundingByProjects(this.publicationInfo.fundedByProjects, relation, this.publicationInfo.projectsProvenanceVocabulary);
-          } else if(relation['to'].class == "isRelatedTo") {
-            let provenanceAction: string;
-            if(relation.provenanceaction in this.publicationInfo.researchResultsProvenanceVocabulary) {
-              provenanceAction = this.publicationInfo.researchResultsProvenanceVocabulary[relation.provenanceaction];
-            } else {
-              provenanceAction = "Other";
-            }
-
-            this.publicationInfo.relatedResearchResults = this.parsingFunctions.parseRelatedResearchResults(this.publicationInfo.relatedResearchResults, relation, provenanceAction);
-          } else if(relation['to'].class == "hasAmongTopNSimilarDocuments") {
-            this.publicationInfo.similarResearchResults = this.parsingFunctions.parseSimilarResearchResults(this.publicationInfo.similarResearchResults, relation);
-          } else if(relation['to'].class == "hasAuthorInstitution") {
-            this.publicationInfo.organizations = this.parseRelatedOrganizations(this.publicationInfo.organizations, relation);
-          }
-        }
-      }
-    }
-
-    if(data[3] != null) {
-      if(data[3].hasOwnProperty("result")) {
-        this.publicationInfo.deletedByInferenceIds = [];
-        let length = Array.isArray(data[3]['result']) ? data[3]['result'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          let result = Array.isArray(data[3]['result']) ? data[3]['result'][i] : data[3]['result'];
-          this.publicationInfo.deletedByInferenceIds.push(result.objidentifier);
-        }
-
-      }
-
-      if(data[3].hasOwnProperty("instance")) {
-        //this.publicationInfo.collectedFrom = new Array<{"name": string, "id": string}>();
-        //this.publicationInfo.downloadFrom = new Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>();
-        //this.publicationInfo.publishedIn = new Map<string, {"url": string[], "accessMode": string[], "bestAccessMode": string}>();
-
-
-        this.publicationInfo.hostedBy_collectedFrom = new Array<{"downloadName": string, "downloadUrl": string[], "collectedName": string, "collectedId": string, "accessMode": string[], "bestAccessMode": string, "type": string, "year":string}>();
-
-
-        this.publicationInfo.types = new Array<string>();
-        let types = new Set<string>();
-
-        let counter = 0;
-        let instance;
-
-        let length = Array.isArray(data[3]['instance']) ? data[3]['instance'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          instance = Array.isArray(data[3]['instance']) ? data[3]['instance'][i] : data[3]['instance'];
-
-          this.parsingFunctions.parseTypes(this.publicationInfo.types, types, instance);
-
-          if(instance.hasOwnProperty("webresource")) {
-            let url;
-            if(!Array.isArray(instance['webresource'])) {
-              url = instance['webresource'].url;
-            } else{
-              url = instance['webresource'][0].url;
-            }
-
-            /**********************************************************/
-            if(instance.hasOwnProperty("hostedby")) {
-              counter = this.parsingFunctions.parseHostedBy_collectedFrom(this.publicationInfo.hostedBy_collectedFrom, instance, data[0], url, counter/*, this.publicationInfo.title*/, this.publicationInfo.accessMode);
-            }
-            /**********************************************************/
-          }
-        }
-      }
-
-      if(data[3].hasOwnProperty("externalreference")) {
-        let externalResults: [Map<string, Map<string, string>>, { "name": string, "url": string}[]] = this.parseBioentitiesAndSoftware(data[3]);
-        this.publicationInfo.bioentities = externalResults[0];
-        this.publicationInfo.software = externalResults[1];
-      }
-    }
-
-    if(data[4] != null) {
-      this.publicationInfo.identifiers = this.parsingFunctions.parseIdentifiers(data[4]);
-    }
-
-    if(data[5] != null) {
-      this.publicationInfo.journal = {"journal": "", "issn": "", "lissn": "", "eissn": "", "issue": "", "volume": "", "start_page": "", "end_page": ""}
-
-      this.publicationInfo.journal['journal'] = data[5].content;
-      this.publicationInfo.journal['issn'] = data[5].issn;
-      this.publicationInfo.journal['lissn'] = data[5].lissn;
-      this.publicationInfo.journal['eissn'] = data[5].eissn;
-      this.publicationInfo.journal['issue'] = data[5].iss;
-      this.publicationInfo.journal['volume'] = data[5].vol;
-      this.publicationInfo.journal['start_page'] = data[5].sp;
-      this.publicationInfo.journal['end_page'] = data[5].ep;
-    }
-
-    if(data[6] != null) {
-      this.publicationInfo.languages = this.parsingFunctions.parseLanguages(data[6]);
-    }
-    if(data[15] != null) {
-      this.publicationInfo.countries = this.parsingFunctions.parseCountries(data[15]);
-    }
-
-    if(data[7] != null) {
-      let subjectResults: [string[], Map<string, string[]>, Map<string, string[]>] = this.parsingFunctions.parseAllSubjects(data[7]);
-      this.publicationInfo.subjects = subjectResults[0];
-      this.publicationInfo.otherSubjects = subjectResults[1];
-      this.publicationInfo.classifiedSubjects = subjectResults[2];
-    }
-
-    // if(data[8] != null) {
-    //     this.publicationInfo.bestaccessright = data[8].classid;
-    // }
-
-    // if(data[9] != null) {
-    //   this.publicationInfo.collectedFrom = this.parsingFunctions.parseCollectedFrom(data[9]);
-    // }
-
-    this.publicationInfo.hostedBy_collectedFrom = this.parsingFunctions.addPublisherToHostedBy_collectedFrom(
-                this.publicationInfo.hostedBy_collectedFrom, this.publicationInfo.publisher,
-                this.publicationInfo.journal, this.publicationInfo.identifiers/*,
-                this.publicationInfo.title*/);
-
-    if(data[10] != null) {
-      this.publicationInfo.references = this.parsingFunctions.parseReferences(data[10]);
-    }
-
-    if(data[11] != null) {
-      this.publicationInfo.contexts = this.parsingFunctions.parseContexts(data[11]);
-    }
-
-    if(data[12] != null && data[12] == "under curation") {
-      this.publicationInfo.underCurationMessage = true;
-    } else {
-      this.publicationInfo.underCurationMessage = false;
-    }
-
-    if(data[13] != null) {
-      if(this.publicationInfo.authors == undefined) {
-        this.publicationInfo.authors = new Array<{"fullName": string, "orcid": string}>();
-      }
-
-      let authors = data[13];
-      let length = Array.isArray(authors) ? authors.length : 1;
-
-      for(let i=0; i<length; i++) {
-        let author = Array.isArray(authors) ? authors[i] : authors;
-        if(author) {
-          /*if (author.ORCID && author.ORCID.indexOf(properties.orcidURL) != -1) {
-            author.ORCID = author.ORCID.substr(properties.orcidURL.length);
-          }*/
-          this.publicationInfo['authors'][author.rank] = {"fullName": author.content, "orcid": author.ORCID};
-        }
-      }
-      this.publicationInfo.authors = this.publicationInfo.authors.filter(function (item) {
-        return (item != undefined && item.fullName != undefined);
-      });
-    }
-
-    if(this.publicationInfo.relatedResearchResults) {
-      let self = this;
-      this.publicationInfo.relatedResearchResults.forEach(function (value, key, map) {
-        self.publicationInfo.relatedResearchResults.set(key, self.parsingFunctions.sortByPercentage(value));
-      });
-    }
-    this.publicationInfo.similarResearchResults = this.parsingFunctions.sortByPercentage(this.publicationInfo.similarResearchResults);
-
-    return this.publicationInfo;
-  }
-
-  parseRelatedOrganizations(organizations: {"name": string, "shortname":string, "id": string, "websiteUrl": string, "country": string, "trust": number}[], relation: any):
-                  {"name": string, "shortname":string, "id": string, "websiteUrl": string, "country": string, "trust": number}[] {
-    if(organizations == undefined) {
-      organizations = new Array<{
-                  "name": string, "shortname": string,
-                  "id": string, "websiteUrl": string,
-                  "country": string, "trust": number}>();
-    }
-
-    let organization: { "name": string, "shortname": string,
-                        "id": string, "websiteUrl": string,
-                        "country": string, "trust": number
-                      } = {
-                        "name": "", "shortname": "",
-                        "id": "", "websiteUrl": "",
-                        "country": "", "trust": null
-                      };
-
-    organization.id = relation['to'].content;
-    organization.name = relation.legalname;
-    organization.shortname = relation.legalshortname;
-    organization.websiteUrl = relation.websiteurl;
-    if(relation.country) {
-      organization.country = relation.country.classname;
-    }
-    if(relation.trust) {
-      organization.trust = Math.round(relation.trust*100);
-    }
-
-    organizations.push(organization);
-    return organizations;
-  }
-
-  parseBioentitiesAndSoftware(children: any) : [Map<string, Map<string, string>>, { "name": string, "url": string}[]] {
-    let bioentities: Map<string, Map<string, string>>;
-    let software: {"name": string, "url": string}[];
-
-    let length = Array.isArray(children['externalreference']) ? children['externalreference'].length : 1;
-
-    let externalreference;
-    for(let i=0; i<length; i++) {
-      externalreference = Array.isArray(children['externalreference']) ? children['externalreference'][i] : children['externalreference'];
-
-      if(externalreference.hasOwnProperty("qualifier")) {
-        if(externalreference['qualifier'].classid == "accessionNumber") {
-
-          if(bioentities == undefined) {
-            bioentities = new Map<string, Map<string, string>>();
-          }
-
-          if(!bioentities.has(externalreference.sitename)) {
-            bioentities.set(externalreference.sitename, new Map<string, string>());
-          }
-          bioentities.get(externalreference.sitename).set(externalreference.refidentifier, externalreference.url);
-
-        } else if(externalreference['qualifier'].classid == "software") {
-
-          if(software == undefined) {
-            software = new Array<{"name": string, "url": string}>();
-          }
-
-          software.push({"name": externalreference.sitename, "url": externalreference.url});
-        }
-      }
-    }
-
-    return [bioentities, software];
-  }
-/*
-  parseReferences(citations: any): {"name": string, "url": string}[] {
-    let references = new Array<{"name": string, "url": string}>();
-
-    let citation;
-    let length = Array.isArray(citations) ? citations.length : 1;
-    for(let i=0; i<length; i++) {
-      citation = Array.isArray(citations) ? citations[i] : citations;
-
-      let url;
-      if(citation.hasOwnProperty("id")) {
-        let citationId;
-        let length1 = Array.isArray(citation['id']) ? citation['id'].length : 1;
-        for(let j=0; j<length1; j++) {
-          citationId = Array.isArray(citation['id']) ? citation['id'][j] : citation['id'];
-
-          if(citationId.type == "pmid") {
-            url = "http://www.ncbi.nlm.nih.gov/pubmed/"+citationId.value;
-          }
-        }
-      }
-
-      references[citation.position-1] = { "name": "", "url": ""};
-      references[citation.position-1]['name'] = citation.rawText;
-      references[citation.position-1]['url'] = url;
-    }
-    return references;
-  }
-*/
-  getOpenCitations(id: string, properties:EnvProperties) {
-    //https://services.openaire.eu/opencitations/getCitations?id=doajarticles::2634200c24772ee8f10232d3e184ec65
-    let url = properties.openCitationsAPIURL+id;// "https://services.openaire.eu/opencitations/getCitations?id=" + id;
-    let key = url;
-
-    //return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
-    return this.http.get(url)
-                //.map(res => <any> res.json())
-                .pipe(map(res => [res['total'], this.parseOpenCitations(res['results'])]));
-  }
-
-  parseOpenCitations(openCitations: any): {"url": string, "title": string, "year": string, "doi": string, "authors": string[]}[] {
-    //title, doi, authors
-    let citations = new Array<{"url": string, "title": string, "year": string, "doi": string, "authors": string[]}>();
-
-    let openCitation;
-
-    let length = Array.isArray(openCitations) ? openCitations.length : 1;
-    for(let i=0; i<length; i++) {
-      openCitation = Array.isArray(openCitations) ? openCitations[i] : openCitations;
-
-      let citation: {"url": string, "title": string,  "year": string, "doi": string, "authors": string[]} = {"url": "", "title": "", "year": "", "doi": "", "authors": []};
-
-      if(openCitation && openCitation.id) {
-        citation.url = openCitation.id;
-        citation.title = openCitation.title;
-        //citation.type = openCitation.type;
-        citation.year = (openCitation.pubDate && (openCitation.pubDate).indexOf('-') !== -1)?openCitation.pubDate.split('-')[0]:openCitation.pubDate;
-        citation.doi = openCitation.doi;
-
-        let authorsLength = Array.isArray(openCitation.authors) ? openCitation.authors.length : 1;
-        for(let i=0; i<authorsLength; i++) {
-          let author = Array.isArray(openCitation.authors) ? openCitation.authors[i] : openCitation.authors;
-
-          if(author) {
-            let lastFirstName: string = "";
-            if(author.lastName) {
-              lastFirstName = author.lastName;
-            }
-            if(author.lastName && author.firstName) {
-              lastFirstName += ", ";
-            }
-            if(author.firstName) {
-              lastFirstName += author.firstName;
-            }
-
-            if(lastFirstName) {
-              citation.authors.push(lastFirstName);
-            }
-          }
-        }
-        citations.push(citation);
-      }
-    }
-    return citations;
-  }
-}
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.component.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.component.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.component.ts	(nonexistent)
@@ -1,17 +0,0 @@
-import {Component, Input} from '@angular/core';
-
-@Component({
-  selector: 'publication',
-  template: `
-    <result-landing type="publication" [piwikSiteId]="piwikSiteId" [communityId]="communityId" [activeTab]="'References'"></result-landing>
-  `
-})
-
-export class PublicationComponent {
-  @Input() piwikSiteId = null;
-  @Input() communityId = null;
-
-  constructor() {}
-
-  ngOnInit() {}
-}
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication.module.ts	(nonexistent)
@@ -1,24 +0,0 @@
-import {NgModule} from '@angular/core';
-import {FreeGuard} from '../../login/freeGuard.guard';
-import {IsRouteEnabled} from "../../error/isRouteEnabled.guard";
-import {SharedModule} from "../../shared/shared.module";
-import {LandingModule} from '../landing-utils/landing.module';
-import {ResultLandingModule} from '../resultLanding.module';
-import {PublicationComponent}         from './publication.component';
-
-@NgModule({
-  imports: [
-    SharedModule, LandingModule, ResultLandingModule
-  ],
-  declarations: [
-    PublicationComponent
-  ],
-  providers: [
-    //PublicationService,
-    FreeGuard, IsRouteEnabled
-  ],
-  exports: [
-    PublicationComponent
-  ]
-})
-export class PublicationModule { }
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication-routing.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication-routing.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/publication/publication-routing.module.ts	(nonexistent)
@@ -1,18 +0,0 @@
-// import { NgModule } from '@angular/core';
-// import { RouterModule } from '@angular/router';
-//
-// import { PublicationComponent } from './publication.component';
-// import {FreeGuard} from'../../login/freeGuard.guard';
-// import {PreviousRouteRecorder} from'../../utils/piwik/previousRouteRecorder.guard';
-// import {IsRouteEnabled} from '../../error/isRouteEnabled.guard';
-//
-// @NgModule({
-//  imports: [
-//   RouterModule.forChild([
-//     { path: '', component: PublicationComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
-//         redirect: '/error'
-//       },canDeactivate: [PreviousRouteRecorder]  }
-//   ])
-// ]
-// })
-// export class PublicationRoutingModule { }
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.module.ts	(nonexistent)
@@ -1,25 +0,0 @@
-import {NgModule} from '@angular/core';
-import {FreeGuard} from '../../login/freeGuard.guard';
-import {IsRouteEnabled} from "../../error/isRouteEnabled.guard";
-import {SharedModule} from "../../shared/shared.module";
-import {LandingModule} from '../landing-utils/landing.module';
-import {ResultLandingModule} from '../resultLanding.module';
-import {OrpComponent} from './orp.component';
-
-@NgModule({
-  imports: [
-    SharedModule, LandingModule,  ResultLandingModule
-  ],
-  declarations: [
-    OrpComponent
-  ],
-  providers: [
-    FreeGuard, IsRouteEnabled
-  ],
-  exports: [
-    OrpComponent
-  ]
-})
-
-export class OrpModule {
-}
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.component.html
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.component.html	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.component.html	(nonexistent)
@@ -1,278 +0,0 @@
-<div id="tm-main" class=" uk-section uk-padding-remove-top  uk-margin-small-top  tm-middle">
-  <div uk-grid>
-    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first">
-      <div class="uk-container  orp">
-        <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning  uk-margin-large-top"
-             role="alert">{{warningMessage}}</div>
-        <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger  uk-margin-large-top"
-             role="alert">{{errorMessage}}</div>
-        <div [style.display]="showLoading ? 'inline' : 'none'"
-             class="uk-animation-fade uk-margin-large-top  uk-width-1-1" role="alert"><span
-          class="loading-gif  uk-align-center"></span></div>
-        <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
-                [texts]="pageContents['top']"></helper>
-        <div *ngIf="orpInfo != null"  class="uk-grid">
-          <div class="uk-width-2-3@m uk-width-1-1@s uk-margin-bottom">
-            <schema2jsonld *ngIf="orpInfo.record" [data]=orpInfo.record
-                           [URL]="properties.baseLink+'/search/orp?orpId='+orpId"></schema2jsonld>
-            <showTitle [titleName]="orpInfo.title"></showTitle>
-            <span *ngIf="orpInfo.types && orpInfo.types.length > 0" class="uk-label custom-label label-orp "
-                  title="Type">{{orpInfo.types.join(", ")}}</span>{{" "}}
-            <span *ngIf="orpInfo.languages && orpInfo.languages.length > 0"
-                  class="uk-label custom-label  label-language "
-                  title="Language">{{orpInfo.languages.join(", ")}}</span>{{" "}}
-            <span *ngIf="orpInfo.countries && orpInfo.countries.length > 0"
-                  class="uk-label custom-label  label-country "
-                  title="Country">{{orpInfo.countries.join(", ")}}</span>{{" "}}
-            <span *ngIf="orpInfo.accessMode" [class]="'uk-label custom-label   label-'+ orpInfo.accessMode "
-                  title="Access Mode">{{orpInfo.accessMode}}</span>{{" "}}
-            <span *ngIf="orpInfo.underCurationMessage" class="uk-label custom-label label-underCuration">
-              <span uk-tooltip="pos:right; delay:10"
-                    title="{{buildCurationTooltip()}}">
-                  <i>Record in preview</i>
-                  <i class="uk-icon-info-circle"></i>
-              </span>
-            </span>{{" "}}
-
-            <div class=" uk-margin-top">
-              <showAuthors [authors]="orpInfo.authors"></showAuthors>
-              <span *ngIf="orpInfo.date != ''">({{orpInfo.date}})</span>
-            </div>
-
-            <ul class="uk-list">
-              <showPublisher [publisher]="orpInfo.publisher"
-                             [journal]="orpInfo.journal" [properties]="properties"></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>
-              </li>
-              <li *ngIf="orpInfo.subjects ||orpInfo.otherSubjects ||  orpInfo.classifiedSubjects">
-                <showSubjects [subjects]="orpInfo.subjects"
-                              [otherSubjects]="orpInfo.otherSubjects"
-                              [classifiedSubjects]="orpInfo.classifiedSubjects">
-                </showSubjects>
-              </li>
-            </ul>
-            <hr *ngIf="orpInfo.description">
-            <div *ngIf="orpInfo.description"
-                 class="uk-text-justify descriptionText uk-height-max-medium uk-overflow-auto">
-              <span>{{orpInfo.description.substring(0, showNumDescription)}}</span
-              ><span
-              *ngIf="showNumDescription == thresholdDescription && orpInfo.description.length > thresholdDescription">...</span
-            ><span
-              *ngIf="showNumDescription == thresholdDescription && orpInfo.description.length > thresholdDescription"
-              class="uk-text-right">
-                <a (click)="showNumDescription = orpInfo.description.length;">
-                  View more
-                </a>
-              </span>
-            </div>
-            <div *ngIf="orpInfo.description && showNumDescription > thresholdDescription"
-                 class="uk-width-1-1 uk-text-right">
-              <a (click)="showNumDescription = thresholdDescription;">
-                View less
-              </a>
-            </div>
-
-            <ul class="custom-accordion" uk-accordion>
-              <li *ngIf="orpInfo.references" (click)="activeTab='References'">
-                <a class="uk-accordion-title" href="#">
-                  References ({{orpInfo.references.length | number}})
-                </a>
-                <div class="uk-accordion-content">
-                  <div>
-                    <div *ngIf="orpInfo.references.length > pageSize" class="uk-margin-bottom">
-                      <span class="uk-h6">{{orpInfo.references.length | number}}
-                        references, page {{referencesPage | number}}
-                        of {{totalPages(orpInfo.references.length) | number}}</span>
-                      <paging-no-load class="uk-float-right" [currentPage]="referencesPage"
-                                      [totalResults]="orpInfo.references.length" [size]="pageSize"
-                                      (pageChange)="updateReferencesPage($event)"></paging-no-load>
-                    </div>
-
-                    <div
-                      *ngFor="let item of orpInfo.references.slice((referencesPage-1)*pageSize, referencesPage*pageSize)">
-                      <p *ngIf=" item && item['url']"
-                         class="custom-external custom-icon">
-                        <a href="{{item['url']}}" target="_blank">
-                          {{item['name']}}
-                        </a>
-                      </p>
-                      <p *ngIf="!item['url']" class="pseudo-external custom-icon">
-                        {{item['name']}}
-                      </p>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="orpInfo.relatedResearchResults" (click)="activeTab='Related Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Related Research Results
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{relatedResearchResultsNum | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <div>
-                    <div *ngFor="let provenanceaction of getKeys(orpInfo.relatedResearchResults)">
-                      <div class="uk-text-large">{{provenanceaction}}</div>
-                      <tabTable percentageName="trust" [info]="orpInfo.relatedResearchResults.get(provenanceaction)"
-                                [properties]=properties></tabTable>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="orpInfo.similarResearchResults" (click)="activeTab='Similar Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Similar Research Results
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{orpInfo.similarResearchResults.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <div>
-                    <tabTable percentageName="similarity" [info]="orpInfo.similarResearchResults"
-                              [properties]=properties></tabTable>
-                  </div>
-                </div>
-              </li>
-
-              <li (click)="metricsClicked=true; activeTab='Metrics'">
-                <a class="uk-accordion-title" href="#">
-                  Metrics
-                </a>
-                <div class="uk-accordion-content">
-                  <metrics [pageViews]="pageViews"
-                           [id]="orpId" [entityType]="'results'" [entity]="'Other Research Product'"
-                           (metricsResults)="metricsResults($event)" [properties]=properties>
-                  </metrics>
-                  <i-frame *ngIf="metricsClicked && totalViews > 0"
-                           [url]=viewsFrameUrl width="100%" height="250">
-                  </i-frame>
-                  <i-frame *ngIf="metricsClicked && totalDownloads > 0"
-                           [url]=downloadsFrameUrl width="100%" height="250">
-                  </i-frame>
-                </div>
-              </li>
-              <li (click)="activeTab='Other Versions'"
-                  *ngIf="properties.environment != 'production' && orpInfo.deletedByInferenceIds">
-                <a class="uk-accordion-title" href="#">
-                  Other Versions
-                  ({{orpInfo.deletedByInferenceIds.length | number}})
-                </a>
-                <div *ngIf="activeTab=='Other Versions'" class="uk-accordion-content">
-                  <deletedByInference [id]="orpId" [ids]="orpInfo.deletedByInferenceIds"
-                                      [type]="'other research products'"></deletedByInference>
-                </div>
-              </li>
-            </ul>
-          </div>
-
-          <div class="uk-width-1-3@m uk-width-1-1@s">
-            <div class="  uk-padding-small">
-              <button *ngIf="isRouteAvailable('participate/direct-claim') "  class="   uk-button portal-button uk-width-1-1  ">
-              <span class="uk-icon">
-                <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20" height="25"><path d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375" fill="none" stroke="#000"  stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975" fill="none" stroke="#000" stroke-width="1.1"></path></svg>
-              </span> Link this product to...
-              </button>
-              <div *ngIf="isRouteAvailable('participate/direct-claim') " class="  uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "
-                    uk-dropdown="mode:click" >
-                <div   class="uk-grid    uk-child-width-1-3  uk-width-large ">
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[orpId,'orp','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
-                  >
-                    <button class="uk-icon-button portal-button">
-                   <span class="uk-icon">
-                        <svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20"
-                             xmlns="http://www.w3.org/2000/svg"><rect height="1" width="10" x="5" y="2"></rect><rect
-                          height="1" width="14" x="3" y="4"></rect><rect fill="none" height="11" stroke="#000"
-                                                                         width="17" x="1.5" y="6.5"></rect></svg></span>
-                    </button>
-                    <div>Projects</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[orpId,'orp','result'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                    <button class="uk-icon-button portal-button">
-                      <span class="uk-icon">
-                           <svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
-                                                                         width="12" x="3.5" y="2.5"></rect><polyline
-                             fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>
-                    </button>
-                    <div>Research results</div>
-                  </a></div>
-                  <div> <a  [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[orpId,'orp','context'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                    <button class="uk-icon-button portal-button">
-                <span class="uk-icon">
-                           <svg height="20" icon="users" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><circle cx="7.7" cy="8.6" fill="none" r="3.5"
-                                                                           stroke="#000" stroke-width="1.1"></circle><path
-                             d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
-                             stroke="#000" stroke-width="1.1"></path><path
-                             d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
-                             fill="none" stroke="#000" stroke-width="1.1"></path></svg></span>
-                    </button>
-                    <div>Communities</div>
-                  </a></div>
-                </div>
-
-              </div>
-              <div>
-                <div class="sideInfoTitle uk-margin-small-bottom">Share - Bookmark</div>
-                <addThis></addThis>
-              </div>
-              <altmetrics *ngIf="orpInfo.identifiers && orpInfo.identifiers.get('doi')"
-                          id="{{orpInfo.identifiers.get('doi')[0]}}" type="doi">
-              </altmetrics>
-              <ul class="uk-list">
-                <li *ngIf="orpInfo.hostedBy_collectedFrom && orpInfo.hostedBy_collectedFrom.length > 0">
-                  <availableOn [availableOn]="orpInfo.hostedBy_collectedFrom"></availableOn>
-                </li>
-                <li *ngIf="orpInfo.fundedByProjects != undefined && orpInfo.fundedByProjects.length > 0">
-                  <fundedBy [fundedByProjects]="orpInfo.fundedByProjects"></fundedBy>
-                </li>
-                <li *ngIf="orpInfo.contexts && orpInfo.contexts.length >0 ">
-                  <dl class="uk-description-list-line">
-                    <dt class="sideInfoTitle">Related to</dt>
-                    <dd class="line" *ngFor="let item of orpInfo.contexts">
-                        <span *ngIf="!item['inline']">
-                          <span>{{item['labelContext']}}</span>
-                          <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                          <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                        </span>
-                      <mark *ngIf="item['inline']">
-                        <span>{{item['labelContext']}}</span>
-                        <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                        <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                      </mark>
-                    </dd>
-                  </dl>
-                </li>
-                <li>
-
-                  <div class="sideInfoTitle  cite-this-button uk-width-1-1" type="button">
-                    Cite this research product
-                  </div>
-                  <div class="">
-                    <citeThis [result]="orpInfo" [id]="orpId" type="other research product"></citeThis>
-                  </div>
-
-              </li>
-            </ul>
-            </div>
-
-           </div>
-         </div>
-        <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
-                [texts]="pageContents['bottom']"></helper>
-
-        </div>
-
-      </div>
-     </div>
-   </div>
-
-
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.service.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.service.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.service.ts	(nonexistent)
@@ -1,233 +0,0 @@
-import {Injectable} from '@angular/core';
-import {HttpClient, HttpErrorResponse} from "@angular/common/http";
-import {throwError} from 'rxjs';
-import {OrpInfo} from '../../utils/entities/orpInfo';
-import {EnvProperties} from '../../utils/properties/env-properties';
-import {ParsingFunctions} from '../landing-utils/parsingFunctions.class';
-import {map} from "rxjs/operators";
-
-@Injectable()
-export class OrpService {
-
-  constructor(private http: HttpClient ) {
-    this.parsingFunctions = new ParsingFunctions();
-  }
-
-  public parsingFunctions: ParsingFunctions;
-  orpInfo: OrpInfo;
-
-  getOrpInfo (id: string, properties:EnvProperties):any {
-
-    let url = properties.searchAPIURLLAst+'other/'+id+"?format=json";
-    let key = url;
-
-    return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
-                    //.map(res => <any> res.json())
-                    .pipe(map(res => [res['result']['header']['dri:status'], res['result']['metadata']['oaf:entity'],res]))
-                    .pipe(map(res => [res[1]['oaf:result'],  //0
-                                 res[1]['oaf:result']['title'],   //1
-                                 res[1]['oaf:result']['rels']['rel'], //2
-                                 res[1]['oaf:result']['children'],  //3
-                                 res[1]['oaf:result']['pid'], //4
-                                 res[1]['oaf:result']['subject'], //5
-                                 res[1]['oaf:result']['bestaccessright'], //6
-                                 res[1]['oaf:result']['collectedfrom'], //7
-                                 res[1]['oaf:result']['context'], //8
-                                 res[0],  //9
-                                 res[1]['oaf:result']['creator'], //10
-                                 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]['oaf:result']['journal'] //15
-                    ]))
-                    .pipe(map(res => this.parseOrpInfo(res, properties)));
-  }
-
-  private handleError (error: HttpErrorResponse) {
-  // in a real world app, we may send the error to some remote logging infrastructure
-  // instead of just logging it to the console
-    console.log(error);
-    return throwError(error  || 'Server error');
-  }
-
-  parseOrpInfo (data: any, properties: EnvProperties):any {
-    this.orpInfo = new OrpInfo();
-    this.orpInfo.record = data[13];
-    if(data[0] != null) {
-      var date:string = (data[0].dateofacceptance)+""; // transform to string in case it is an integer
-      this.orpInfo.date  = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
-      this.orpInfo.dateofacceptance = data[0].dateofacceptance;
-      this.orpInfo.publisher = data[0].publisher;
-      if(!Array.isArray(data[0].description)) {
-        this.orpInfo.description = String(data[0].description);
-      } else {
-        this.orpInfo.description = String(data[0].description[0]);
-      }
-      this.orpInfo.embargoEndDate = data[0].embargoenddate;
-    }
-
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.orpInfo.accessMode = data[0]['bestaccessright'].classid;
-    }
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.orpInfo.title = String(data[1][0].content);
-      } else {
-        this.orpInfo.title = String(data[1].content);
-      }
-    }
-
-    if(data[2] != null) {
-      let relation;
-      let length = data[2].length!=undefined ? data[2].length : 1;
-
-      for(let i=0; i<length; i++) {
-        relation = data[2].length!=undefined ? data[2][i] : data[2];
-        if(relation.hasOwnProperty("to")) {
-          if(relation['to'].class == "isProducedBy") {
-            this.orpInfo.fundedByProjects = this.parsingFunctions.parseFundingByProjects(this.orpInfo.fundedByProjects, relation, this.orpInfo.projectsProvenanceVocabulary);
-          } else if(relation['to'].class == "isRelatedTo") {
-            let provenanceAction: string;
-            if(relation.provenanceaction in this.orpInfo.researchResultsProvenanceVocabulary) {
-              provenanceAction = this.orpInfo.researchResultsProvenanceVocabulary[relation.provenanceaction];
-            } else {
-              provenanceAction = "Other"
-            }
-
-            this.orpInfo.relatedResearchResults = this.parsingFunctions.parseRelatedResearchResults(this.orpInfo.relatedResearchResults, relation, provenanceAction);
-
-          } else if(relation['to'].class == "hasAmongTopNSimilarDocuments") {
-            this.orpInfo.similarResearchResults = this.parsingFunctions.parseSimilarResearchResults(this.orpInfo.similarResearchResults, relation);
-          }
-        }
-      }
-    }
-
-    if(data[3] != null) {
-      if(data[3].hasOwnProperty("result")) {
-        this.orpInfo.deletedByInferenceIds = [];
-        let length = Array.isArray(data[3]['result']) ? data[3]['result'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          let result = Array.isArray(data[3]['result']) ? data[3]['result'][i] : data[3]['result'];
-          this.orpInfo.deletedByInferenceIds.push(result.objidentifier);
-        }
-      }
-
-      if(data[3].hasOwnProperty("instance")) {
-        this.orpInfo.hostedBy_collectedFrom = new Array<{ "downloadName": string, "downloadUrl": string[],
-                                                              "collectedName": string, "collectedId": string,
-                                                              "accessMode": string[], "bestAccessMode": string,
-                                                              "type": string, "year":string}>();
-
-        this.orpInfo.types = new Array<string>();
-        let types = new Set<string>();
-
-        let counter = 0;
-        let instance;
-
-        let length = data[3]['instance'].length!=undefined ? data[3]['instance'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          instance = data[3]['instance'].length!=undefined ? data[3]['instance'][i] : data[3]['instance'];
-
-          this.parsingFunctions.parseTypes(this.orpInfo.types, types, instance);
-
-          if(instance.hasOwnProperty("webresource")) {
-            let url;
-            if(instance['webresource'].length == undefined) {
-              url = instance['webresource'].url;
-            } else{
-              url = instance['webresource'][0].url;
-            }
-
-            if(instance.hasOwnProperty("hostedby")) {
-              counter = this.parsingFunctions.parseHostedBy_collectedFrom(this.orpInfo.hostedBy_collectedFrom, instance, data[0], url, counter/*, this.orpInfo.title*/, this.orpInfo.accessMode);
-            }
-          }
-        }
-      }
-    }
-
-    if(data[4] != null) {
-      this.orpInfo.identifiers = this.parsingFunctions.parseIdentifiers(data[4]);
-    }
-
-    if(data[5] != null) {
-      let subjectResults: [string[], Map<string, string[]>, Map<string, string[]>] = this.parsingFunctions.parseAllSubjects(data[5]);
-      this.orpInfo.subjects = subjectResults[0];
-      this.orpInfo.otherSubjects = subjectResults[1];
-      this.orpInfo.classifiedSubjects = subjectResults[2];
-    }
-
-    this.orpInfo.hostedBy_collectedFrom = this.parsingFunctions.addPublisherToHostedBy_collectedFrom(
-                this.orpInfo.hostedBy_collectedFrom, this.orpInfo.publisher,
-                null, this.orpInfo.identifiers/*, this.orpInfo.title*/);
-
-    if(data[8] != null) {
-      this.orpInfo.contexts = this.parsingFunctions.parseContexts(data[8]);
-    }
-
-    if(data[9] != null && data[9] == "under curation") {
-      this.orpInfo.underCurationMessage = true;
-    } else {
-      this.orpInfo.underCurationMessage = false;
-    }
-
-    if(data[10] != null) {
-      if(this.orpInfo.authors == undefined) {
-        this.orpInfo.authors = new Array<{"fullName": string, "orcid": string}>();
-      }
-
-      let authors = data[10];
-      let length = Array.isArray(authors) ? authors.length : 1;
-
-      for(let i=0; i<length; i++) {
-        let author = Array.isArray(authors) ? authors[i] : authors;
-        if(author) {
-          /*if (author.ORCID && author.ORCID.indexOf(properties.orcidURL) != -1) {
-            author.ORCID = author.ORCID.substr(properties.orcidURL.length);
-          }*/
-          this.orpInfo['authors'][author.rank] = {"fullName": author.content, "orcid": author.ORCID};
-        }
-      }
-      this.orpInfo.authors = this.orpInfo.authors.filter(function (item) {
-        return (item != undefined && item.fullName != undefined);
-      });
-    }
-
-    if(data[11] != null) {
-      this.orpInfo.languages = this.parsingFunctions.parseLanguages(data[11]);
-    }
-    if(data[12] != null) {
-      this.orpInfo.countries = this.parsingFunctions.parseCountries(data[12]);
-    }
-
-    if(data[14] != null) {
-      this.orpInfo.references = this.parsingFunctions.parseReferences(data[14]);
-    }
-
-    if(this.orpInfo.relatedResearchResults) {
-      let self = this;
-      this.orpInfo.relatedResearchResults.forEach(function (value, key, map) {
-        self.orpInfo.relatedResearchResults.set(key, self.parsingFunctions.sortByPercentage(value));
-      });
-    }
-    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/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.component.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.component.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/orp/orp.component.ts	(nonexistent)
@@ -1,16 +0,0 @@
-import {Component, Input} from '@angular/core';
-
-@Component({
-  selector: 'orp',
-  template: `
-    <result-landing type="orp" [piwikSiteId]="piwikSiteId" [communityId]="communityId" [activeTab]="'References'"></result-landing>
-  `})
-
-export class OrpComponent {
-  @Input() piwikSiteId = null;
-  @Input() communityId = null;
-
-  constructor() {}
-
-  ngOnInit() {}
-}
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.service.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.service.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.service.ts	(nonexistent)
@@ -1,253 +0,0 @@
-import {Injectable} from '@angular/core';
-import {HttpClient, HttpErrorResponse} from "@angular/common/http";
-import {throwError} from 'rxjs';
-import {SoftwareInfo} from '../../utils/entities/softwareInfo';
-import {EnvProperties} from '../../utils/properties/env-properties';
-import {ParsingFunctions} from '../landing-utils/parsingFunctions.class';
-import {map} from "rxjs/operators";
-
-@Injectable()
-export class SoftwareService {
-
-  constructor(private http: HttpClient ) {
-    this.parsingFunctions = new ParsingFunctions();
-  }
-
-  public parsingFunctions: ParsingFunctions;
-  softwareInfo: SoftwareInfo;
-
-  getSoftwareInfo (id: string, properties:EnvProperties):any {
-
-    let url = properties.searchAPIURLLAst+'software/'+id+"?format=json";
-    let key = url;
-
-
-    return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
-                    //.map(res => <any> res.json())
-                    .pipe(map(res => [res['result']['header']['dri:status'], res['result']['metadata']['oaf:entity']['oaf:result'], res]))
-                    .pipe(map(res => [res[1],
-                                 res[1]['title'],
-                                 res[1]['rels']['rel'],
-                                 res[1]['children'],
-                                 res[1]['pid'],
-                                 res[1]['subject'],
-                                 res[1]['bestaccessright'],
-                                 res[1]['collectedfrom'],
-                                 res[1]['context'],
-                                 //res[1]['resulttype'],
-                                 res[0],
-                                 res[1]['creator'],
-                                 res[1]['language'],
-                                 res[1]['country'],
-                                 res[1]['programmingLanguage'],
-                                 res[2],
-                                res[1]['journal'] //15
-                    ]))
-                    .pipe(map(res => this.parseSoftwareInfo(res, properties)));
-  }
-
-  private handleError (error: HttpErrorResponse) {
-  // in a real world app, we may send the error to some remote logging infrastructure
-  // instead of just logging it to the console
-    console.log(error);
-    return throwError(error  || 'Server error');
-  }
-
-  parseSoftwareInfo (data: any, properties: EnvProperties):any {
-    this.softwareInfo = new SoftwareInfo();
-    this.softwareInfo.record = data[14];
-    if(data[0] != null) {
-      var date:string = (data[0].dateofacceptance)+""; // transform to string in case it is an integer
-      this.softwareInfo.date  = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
-      this.softwareInfo.dateofacceptance = data[0].dateofacceptance;
-      this.softwareInfo.publisher = data[0].publisher;
-      if(!Array.isArray(data[0].description)) {
-        this.softwareInfo.description = String(data[0].description);
-      } else {
-        this.softwareInfo.description = String(data[0].description[0]);
-      }
-      this.softwareInfo.embargoEndDate = data[0].embargoenddate;
-    }
-    /*
-    this.softwareInfo.title = {"name": "", "url": "", "accessMode": ""};
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.softwareInfo.title.accessMode = data[0]['bestaccessright'].classid;
-    }
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.softwareInfo.title['name'] = data[1][0].content;
-      } else {
-        this.softwareInfo.title['name'] = data[1].content;
-      }
-    }
-    */
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.softwareInfo.accessMode = data[0]['bestaccessright'].classid;
-    }
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.softwareInfo.title = String(data[1][0].content);
-      } else {
-        this.softwareInfo.title = String(data[1].content);
-      }
-    }
-
-    if(data[2] != null) {
-      let relation;
-      let length = data[2].length!=undefined ? data[2].length : 1;
-
-      for(let i=0; i<length; i++) {
-        relation = data[2].length!=undefined ? data[2][i] : data[2];
-        if(relation.hasOwnProperty("to")) {
-          if(relation['to'].class == "isProducedBy") {
-            this.softwareInfo.fundedByProjects = this.parsingFunctions.parseFundingByProjects(this.softwareInfo.fundedByProjects, relation, this.softwareInfo.projectsProvenanceVocabulary);
-          } else if(relation['to'].class == "isRelatedTo") {
-            let provenanceAction: string;
-            if(relation.provenanceaction in this.softwareInfo.researchResultsProvenanceVocabulary) {
-              provenanceAction = this.softwareInfo.researchResultsProvenanceVocabulary[relation.provenanceaction];
-            } else {
-              provenanceAction = "Other"
-            }
-
-            this.softwareInfo.relatedResearchResults = this.parsingFunctions.parseRelatedResearchResults(this.softwareInfo.relatedResearchResults, relation, provenanceAction);
-
-          } else if(relation['to'].class == "hasAmongTopNSimilarDocuments") {
-            this.softwareInfo.similarResearchResults = this.parsingFunctions.parseSimilarResearchResults(this.softwareInfo.similarResearchResults, relation);
-          }
-        }
-      }
-    }
-
-    if(data[3] != null) {
-      if(data[3].hasOwnProperty("result")) {
-        this.softwareInfo.deletedByInferenceIds = [];
-        let length = Array.isArray(data[3]['result']) ? data[3]['result'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          let result = Array.isArray(data[3]['result']) ? data[3]['result'][i] : data[3]['result'];
-          this.softwareInfo.deletedByInferenceIds.push(result.objidentifier);
-        }
-      }
-
-      if(data[3].hasOwnProperty("instance")) {
-        this.softwareInfo.hostedBy_collectedFrom = new Array<{  "downloadName": string, "downloadUrl": string[],
-                                                                "collectedName": string, "collectedId": string,
-                                                                "accessMode": string[], "bestAccessMode": string,
-                                                                "type": string, "year":string}>();
-
-        this.softwareInfo.types = new Array<string>();
-        let types = new Set<string>();
-
-        let counter = 0;
-        let instance;
-
-        let length = data[3]['instance'].length!=undefined ? data[3]['instance'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          instance = data[3]['instance'].length!=undefined ? data[3]['instance'][i] : data[3]['instance'];
-
-          this.parsingFunctions.parseTypes(this.softwareInfo.types, types, instance);
-
-          if(instance.hasOwnProperty("webresource")) {
-            let url;
-            if(instance['webresource'].length == undefined) {
-              url = instance['webresource'].url;
-            } else{
-              url = instance['webresource'][0].url;
-            }
-
-            if(instance.hasOwnProperty("hostedby")) {
-              counter = this.parsingFunctions.parseHostedBy_collectedFrom(this.softwareInfo.hostedBy_collectedFrom, instance, data[0], url, counter/*, this.softwareInfo.title*/, this.softwareInfo.accessMode);
-            }
-          }
-        }
-      }
-    }
-
-    if(data[4] != null) {
-      this.softwareInfo.identifiers = this.parsingFunctions.parseIdentifiers(data[4]);
-    }
-
-    if(data[5] != null) {
-      let subjectResults: [string[], Map<string, string[]>, Map<string, string[]>] = this.parsingFunctions.parseAllSubjects(data[5]);
-      this.softwareInfo.subjects = subjectResults[0];
-      this.softwareInfo.otherSubjects = subjectResults[1];
-      this.softwareInfo.classifiedSubjects = subjectResults[2];
-    }
-
-    // null argument is for journal
-    this.softwareInfo.hostedBy_collectedFrom = this.parsingFunctions.addPublisherToHostedBy_collectedFrom(
-                this.softwareInfo.hostedBy_collectedFrom, this.softwareInfo.publisher,
-                null, this.softwareInfo.identifiers/*, this.softwareInfo.title*/);
-
-    if(data[8] != null) {
-      this.softwareInfo.contexts = this.parsingFunctions.parseContexts(data[8]);
-    }
-
-    // if(data[9] != null && this.softwareInfo.type == undefined) {
-    //   if(data[9].hasOwnProperty('classname')) {
-    //     this.softwareInfo.type = data[9].classname;
-    //   }
-    // }
-
-    if(data[9] != null && data[9] == "under curation") {
-      this.softwareInfo.underCurationMessage = true;
-    } else {
-      this.softwareInfo.underCurationMessage = false;
-    }
-
-    if(data[10] != null) {
-      if(this.softwareInfo.authors == undefined) {
-        this.softwareInfo.authors = new Array<{"fullName": string, "orcid": string}>();
-      }
-
-      let authors = data[10];
-      let length = Array.isArray(authors) ? authors.length : 1;
-
-      for(let i=0; i<length; i++) {
-        let author = Array.isArray(authors) ? authors[i] : authors;
-        if(author) {
-          /*if (author.ORCID && author.ORCID.indexOf(properties.orcidURL) != -1) {
-            author.ORCID = author.ORCID.substr(properties.orcidURL.length);
-          }*/
-          this.softwareInfo['authors'][author.rank] = {"fullName": author.content, "orcid": author.ORCID};
-        }
-      }
-      this.softwareInfo.authors = this.softwareInfo.authors.filter(function (item) {
-        return (item != undefined && item.fullName != undefined);
-      });
-    }
-
-    if(data[11] != null) {
-      this.softwareInfo.languages = this.parsingFunctions.parseLanguages(data[11]);
-    }
-    if(data[12] != null) {
-      this.softwareInfo.countries = this.parsingFunctions.parseCountries(data[12]);
-    }
-
-    if(data[13] != null) {
-      this.softwareInfo.programmingLanguages = this.parsingFunctions.parseProgrammingLanguages(data[13]);
-    }
-
-    if(this.softwareInfo.relatedResearchResults) {
-      let self = this;
-      this.softwareInfo.relatedResearchResults.forEach(function (value, key, map) {
-        self.softwareInfo.relatedResearchResults.set(key, self.parsingFunctions.sortByPercentage(value));
-      });
-    }
-    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/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.component.html
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.component.html	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.component.html	(nonexistent)
@@ -1,347 +0,0 @@
-<div id="tm-main" class=" uk-section  uk-padding-remove-top uk-margin-small-top tm-middle">
-  <div uk-grid>
-    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first ">
-
-      <div class="uk-container software">
-
-        <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning  uk-margin-large-top"
-             role="alert">{{warningMessage}}</div>
-        <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger  uk-margin-large-top"
-             role="alert">{{errorMessage}}</div>
-        <div [style.display]="showLoading ? 'inline' : 'none'"
-             class="uk-animation-fade uk-margin-large-top  uk-width-1-1" role="alert"><span
-          class="loading-gif  uk-align-center"></span></div>
-        <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
-                [texts]="pageContents['top']"></helper>
-
-        <div *ngIf="softwareInfo != null" class="uk-grid">
-
-          <div class="uk-width-2-3@m uk-width-1-1@s uk-margin-bottom">
-            <schema2jsonld *ngIf="softwareInfo.record" [data]=softwareInfo.record
-                           [URL]="properties.baseLink+'/search/software?softwareId='+softwareId"></schema2jsonld>
-            <showTitle [titleName]="softwareInfo.title"></showTitle>
-            <span *ngIf="softwareInfo.types && softwareInfo.types.length > 0"
-                  class="uk-label custom-label label-software "
-                  title="Type">{{softwareInfo.types.join(", ")}}</span>{{" "}}
-            <span *ngIf="softwareInfo.programmingLanguages && softwareInfo.programmingLanguages.length > 0"
-                  class="uk-label custom-label  label-progrLanguage "
-                  title="Programming Language">{{softwareInfo.programmingLanguages.join(", ")}}</span>{{" "}}
-            <span *ngIf="softwareInfo.languages && softwareInfo.languages.length > 0"
-                  class="uk-label custom-label  label-language "
-                  title="Language">{{softwareInfo.languages.join(", ")}}</span>{{" "}}
-            <span *ngIf="softwareInfo.countries && softwareInfo.countries.length > 0"
-                  class="uk-label custom-label  label-country "
-                  title="Country">{{softwareInfo.countries.join(", ")}}</span>{{" "}}
-            <!-- <span *ngIf="softwareInfo.title && softwareInfo.title.accessMode" [class]="'uk-label custom-label  label-'+ softwareInfo.title.accessMode " title="Access Mode">{{softwareInfo.title.accessMode}}</span> -->
-            <span *ngIf="softwareInfo.accessMode" [class]="'uk-label custom-label  label-'+ softwareInfo.accessMode "
-                  title="Access Mode">{{softwareInfo.accessMode}}</span>{{" "}}
-            <span *ngIf="softwareInfo.underCurationMessage" class="uk-label custom-label label-underCuration ">
-              <span uk-tooltip="pos:right; delay:10"
-                    title="{{buildCurationTooltip()}}">
-              <i>Record in preview</i>
-              <i class="uk-icon-info-circle"></i>
-            </span></span>{{" "}}
-            <!--div *ngIf="softwareInfo.underCurationMessage">
-              <span uk-tooltip="pos:right; delay:10"
-                    title="{{buildCurationTooltip()}}">
-                <i>Record in preview</i>
-                <i class="uk-icon-info-circle"></i>
-              </span>
-            </div-->
-
-            <div class=" uk-margin-top">
-              <showAuthors [authors]="softwareInfo.authors"></showAuthors>
-              <span *ngIf="softwareInfo.date != ''">({{softwareInfo.date}})</span>
-            </div>
-
-            <ul class="uk-list">
-              <showPublisher [publisher]="softwareInfo.publisher" [properties]="properties"
-                             [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">
-                <showIdentifiers [identifiers]="softwareInfo.identifiers"></showIdentifiers>
-              </li>
-              <li *ngIf="softwareInfo.subjects ||softwareInfo.otherSubjects ||  softwareInfo.classifiedSubjects">
-                <showSubjects [subjects]="softwareInfo.subjects"
-                              [otherSubjects]="softwareInfo.otherSubjects"
-                              [classifiedSubjects]="softwareInfo.classifiedSubjects">
-                </showSubjects>
-              </li>
-            </ul>
-            <hr *ngIf="softwareInfo.description">
-            <div *ngIf="softwareInfo.description"
-                 class="uk-text-justify descriptionText uk-height-max-medium uk-overflow-auto">
-              <span>{{softwareInfo.description.substring(0, showNumDescription)}}</span
-              ><span
-              *ngIf="showNumDescription == thresholdDescription && softwareInfo.description.length > thresholdDescription">...</span
-            ><span
-              *ngIf="showNumDescription == thresholdDescription && softwareInfo.description.length > thresholdDescription"
-              class="uk-text-right">
-                <a (click)="showNumDescription = softwareInfo.description.length;">
-                  View more
-                </a>
-              </span>
-            </div>
-            <div *ngIf="softwareInfo.description && showNumDescription > thresholdDescription"
-                 class="uk-width-1-1 uk-text-right">
-              <a (click)="showNumDescription = thresholdDescription;">
-                View less
-              </a>
-            </div>
-
-            <!-- <div class="uk-clearfix"><div class="uk-button-group uk-float-right  uk-margin-top">
-                <button class="uk-button uk-button-small uk-button-action">
-                  <span class="uk-icon"   >
-                         <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="link" ratio="1"><path fill="none" stroke="#000" stroke-width="1.1" d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"></path><path fill="none" stroke="#000" stroke-width="1.1" d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"></path><path fill="none" stroke="#000" stroke-width="1.1" d="M7.925,11.875 L11.925,7.975"></path></svg></span>
-                  Link this software to
-                </button>
-                <div class="uk-inline">
-                    <button class="uk-button uk-button-small uk-button-action" type="button">
-                      <span class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="triangle-down" ratio="1"><polygon points="5 7 15 7 10 12"></polygon></svg></span>
-                    </button>
-                    <div uk-dropdown="mode: click; boundary: ! .uk-button-group; boundary-align: true;"
-                    class="uk-dropdown uk-dropdown-boundary uk-dropdown-bottom-left" style="top: 40px;    left: -236.5px;">
-                        <ul class="uk-nav uk-dropdown-nav uk-padding-small" >
-                            <li><a class="uk-width-1-1" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                               Projects</a></li>
-                            <li><a  class="uk-width-1-1"[queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','context'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                               Communities</a></li>
-                            <li><a   class="uk-width-1-1"  [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','result'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                              Other research results</a></li>
-                        </ul>
-
-                    </div>
-                </div>
-            </div></div> -->
-
-            <ul class="custom-accordion " uk-accordion>
-
-              <li *ngIf="softwareInfo.relatedResearchResults" (click)="activeTab='Related Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Related Research Results
-                  <!-- <span *ngIf="!softwareInfo.relatedResearchResults" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="softwareInfo.relatedResearchResults" class="uk-badge uk-badge-notification">
-                      {{relatedResearchResultsNum | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{relatedResearchResultsNum | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!softwareInfo.relatedResearchResults" class = "uk-alert  uk-alert-primary">
-                      No related research results available
-                  </div>
-                  <div *ngIf="softwareInfo.relatedResearchResults"> -->
-                  <div>
-                    <div *ngFor="let provenanceaction of getKeys(softwareInfo.relatedResearchResults)">
-                      <div class="uk-text-large">{{provenanceaction}}</div>
-
-                      <tabTable percentageName="trust"
-                                [info]="softwareInfo.relatedResearchResults.get(provenanceaction)"
-                                [properties]=properties></tabTable>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="softwareInfo.similarResearchResults" (click)="activeTab='Similar Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Similar Research Results
-                  <!-- <span *ngIf="!softwareInfo.similarResearchResults" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="softwareInfo.similarResearchResults" class="uk-badge uk-badge-notification">
-                      {{softwareInfo.similarResearchResults.length | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{softwareInfo.similarResearchResults.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!softwareInfo.similarResearchResults" class = "uk-alert  uk-alert-primary" >
-                      No similar research results available
-                  </div>
-
-                  <div *ngIf="softwareInfo.similarResearchResults"> -->
-                  <div>
-                    <tabTable percentageName="similarity" [info]="softwareInfo.similarResearchResults"
-                              [properties]=properties></tabTable>
-                  </div>
-                </div>
-              </li>
-
-              <li (click)="metricsClicked=true; activeTab='Metrics'">
-                <a class="uk-accordion-title" href="#">
-                  Metrics
-                </a>
-                <div class="uk-accordion-content">
-                  <metrics [pageViews]="pageViews"
-                           [id]="softwareId" [entityType]="'results'" [entity]="'Software'"
-                           (metricsResults)="metricsResults($event)" [properties]=properties>
-                  </metrics>
-                  <i-frame *ngIf="metricsClicked && totalViews > 0"
-                           [url]=viewsFrameUrl width="100%" height="250">
-                  </i-frame>
-                  <i-frame *ngIf="metricsClicked && totalDownloads > 0"
-                           [url]=downloadsFrameUrl width="100%" height="250">
-                  </i-frame>
-                </div>
-              </li>
-
-              <li (click)="activeTab='Other Versions'"
-                  *ngIf="properties.environment != 'production' && softwareInfo.deletedByInferenceIds">
-                <a class="uk-accordion-title" href="#">
-                  Other Versions
-                  ({{softwareInfo.deletedByInferenceIds.length | number}})
-                </a>
-                <div *ngIf="activeTab=='Other Versions'" class="uk-accordion-content">
-                  <deletedByInference [id]="softwareId" [ids]="softwareInfo.deletedByInferenceIds"
-                                      [type]="'software'"></deletedByInference>
-                </div>
-              </li>
-            </ul>
-
-          </div>
-
-          <div class="uk-width-1-3@m uk-width-1-1@s">
-            <div *ngIf="isRouteAvailable('participate/direct-claim') " class=" uk-padding-small">
-              <button class="   uk-button portal-button uk-width-1-1 ">
-              <span class="uk-icon">
-                   <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20"
-                        height="25"><path
-                     d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"
-                     fill="none" stroke="#000" stroke-width="1.1"></path><path
-                     d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"
-                     fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975"
-                                                                               fill="none" stroke="#000"
-                                                                               stroke-width="1.1"></path></svg>
-                 </span> Link this software to...
-              </button>
-              <div class="  uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "
-                   uk-dropdown="mode:click">
-                <div class="uk-grid    uk-child-width-1-3  uk-width-large ">
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','project'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
-                  >
-                    <button class="uk-icon-button portal-button">
-                   <span class="uk-icon">
-                        <svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20"
-                             xmlns="http://www.w3.org/2000/svg"><rect height="1" width="10" x="5" y="2"></rect><rect
-                          height="1" width="14" x="3" y="4"></rect><rect fill="none" height="11" stroke="#000"
-                                                                         width="17" x="1.5" y="6.5"></rect></svg></span>
-                    </button>
-                    <div>Projects</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','result'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
-                    <button class="uk-icon-button portal-button">
-                      <span class="uk-icon">
-                           <svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
-                                                                         width="12" x="3.5" y="2.5"></rect><polyline
-                             fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>
-                    </button>
-                    <div>Research results</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','context'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
-                    <button class="uk-icon-button portal-button">
-                <span class="uk-icon">
-                           <svg height="20" icon="users" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><circle cx="7.7" cy="8.6" fill="none" r="3.5"
-                                                                           stroke="#000" stroke-width="1.1"></circle><path
-                             d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
-                             stroke="#000" stroke-width="1.1"></path><path
-                             d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
-                             fill="none" stroke="#000" stroke-width="1.1"></path></svg></span>
-                    </button>
-                    <div>Communities</div>
-                  </a></div>
-                </div>
-              </div>
-            </div>
-            <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share - Bookmark</div>
-            <addThis></addThis>
-
-          <altmetrics *ngIf="softwareInfo.identifiers && softwareInfo.identifiers.get('doi')"
-                      id="{{softwareInfo.identifiers.get('doi')[0]}}" type="doi">
-          </altmetrics>
-          <ul class="uk-list uk-margin-remove-bottom">
-
-            <li *ngIf="softwareInfo.hostedBy_collectedFrom && softwareInfo.hostedBy_collectedFrom.length > 0">
-              <availableOn [availableOn]="softwareInfo.hostedBy_collectedFrom"></availableOn>
-            </li>
-            <li *ngIf="softwareInfo.fundedByProjects != undefined && softwareInfo.fundedByProjects.length > 0">
-              <fundedBy [fundedByProjects]="softwareInfo.fundedByProjects"></fundedBy>
-            </li>
-
-            <li *ngIf="softwareInfo.contexts && softwareInfo.contexts.length >0 ">
-              <dl class="uk-description-list-line">
-                <dt class="sideInfoTitle">Related to</dt>
-                <dd class="line" *ngFor="let item of softwareInfo.contexts">
-                          <span *ngIf="!item['inline']">
-                            <span>{{item['labelContext']}}</span>
-                            <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                            <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                          </span>
-                  <mark *ngIf="item['inline']">
-                    <span>{{item['labelContext']}}</span>
-                    <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                    <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                  </mark>
-                </dd>
-
-              </dl>
-
-            </li>
-
-            <!--li>
-              <metrics [pageViews]="pageViews" shortView=true
-                  [id]="softwareId" [entityType]="'results'" [entity]="'Software'"
-                  (metricsResults)="metricsResults($event)" [(properties)] = properties>
-              </metrics>
-            </li-->
-
-            <li>
-
-              <div class=" sideInfoTitle  cite-this-button uk-width-1-1" type="button">
-                Cite this software
-              </div>
-              <div class="">
-                <citeThis [result]="softwareInfo" [id]="softwareId" type="software"></citeThis>
-              </div>
-            </li>
-            <!--li>
-              <ul uk-accordion class="uk-padding-remove">
-                  <li>
-                    <button class="uk-button uk-button-primary uk-accordion-title link-to-button  uk-width-1-1" type="button">
-                      <span class="uk-icon" >
-                             <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="link" ratio="1"><path fill="none" stroke="#000" stroke-width="1.1" d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"></path><path fill="none" stroke="#000" stroke-width="1.1" d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"></path><path fill="none" stroke="#000" stroke-width="1.1" d="M7.925,11.875 L11.925,7.975"></path></svg></span>
-                      <span class="uk-margin-right">Link this software to</span>
-                    </button>
-                      <div class="uk-accordion-content">
-                        <ul class="uk-nav uk-dropdown-nav uk-padding-small" >
-                          <li><a class="uk-width-1-1" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                             Projects</a></li>
-                          <li><a  class="uk-width-1-1" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','context'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                             Communities</a></li>
-                          <li><a   class="uk-width-1-1"  [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','result'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
-                            Other research results</a></li>
-                        </ul>
-                      </div>
-                  </li>
-              </ul>
-            </li-->
-
-          </ul>
-        </div>
-      </div>
-      <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
-              [texts]="pageContents['bottom']"></helper>
-    </div>
-  </div>
-</div>
-</div>
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.component.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.component.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.component.ts	(nonexistent)
@@ -1,17 +0,0 @@
-import {Component, Input} from '@angular/core';
-
-@Component({
-  selector: 'software',
-  template: `
-    <result-landing type="software" [piwikSiteId]="piwikSiteId" [communityId]="communityId" [activeTab]="'Related Research Results'"></result-landing>
-  `
-})
-
-export class SoftwareComponent {
-  @Input() piwikSiteId = null;
-  @Input() communityId = null;
-
-  constructor() {}
-
-  ngOnInit() {}
-}
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software.module.ts	(nonexistent)
@@ -1,24 +0,0 @@
-import {NgModule} from '@angular/core';
-import {FreeGuard} from '../../login/freeGuard.guard';
-import {IsRouteEnabled} from "../../error/isRouteEnabled.guard";
-import {SharedModule} from "../../shared/shared.module";
-import {LandingModule} from '../landing-utils/landing.module';
-import {ResultLandingModule} from '../resultLanding.module';
-import {SoftwareComponent} from './software.component';
-
-@NgModule({
-  imports: [
-    SharedModule, LandingModule, ResultLandingModule
-  ],
-  declarations: [
-    SoftwareComponent
-  ],
-  providers:[
-    //SoftwareService,
-    FreeGuard, IsRouteEnabled
-  ],
-  exports: [
-    SoftwareComponent
-  ]
-})
-export class SoftwareModule { }
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software-routing.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software-routing.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/software/software-routing.module.ts	(nonexistent)
@@ -1,15 +0,0 @@
-// import { NgModule } from '@angular/core';
-// import { RouterModule } from '@angular/router';
-//
-// import {SoftwareComponent } from './software.component';
-// import {FreeGuard} from'../../login/freeGuard.guard';
-// import {PreviousRouteRecorder} from'../../utils/piwik/previousRouteRecorder.guard';
-//
-// @NgModule({
-//  imports: [
-//   RouterModule.forChild([
-//     { path: '', component: SoftwareComponent, canActivate: [FreeGuard],canDeactivate: [PreviousRouteRecorder]  }
-//   ])
-// ]
-// })
-// export class SoftwareRoutingModule { }
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.module.ts	(nonexistent)
@@ -1,24 +0,0 @@
-import {NgModule} from '@angular/core';
-import {FreeGuard} from '../../login/freeGuard.guard';
-import {IsRouteEnabled} from "../../error/isRouteEnabled.guard";
-import {SharedModule} from "../../shared/shared.module";
-import {LandingModule} from '../landing-utils/landing.module';
-import {ResultLandingModule} from '../resultLanding.module';
-import {DatasetComponent} from './dataset.component';
-
-@NgModule({
-  imports: [
-    SharedModule, LandingModule, ResultLandingModule
-  ],
-  declarations: [
-    DatasetComponent
-  ],
-  providers:[
-    FreeGuard, IsRouteEnabled
-  ],
-  exports: [
-    DatasetComponent
-  ]
-})
-
-export class DatasetModule { }
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset-routing.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset-routing.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset-routing.module.ts	(nonexistent)
@@ -1,18 +0,0 @@
-// import { NgModule } from '@angular/core';
-// import { RouterModule } from '@angular/router';
-//
-// import { DatasetComponent } from './dataset.component';
-// import {FreeGuard} from'../../login/freeGuard.guard';
-// import {PreviousRouteRecorder} from'../../utils/piwik/previousRouteRecorder.guard';
-// import {IsRouteEnabled} from '../../error/isRouteEnabled.guard';
-//
-// @NgModule({
-//  imports: [
-//   RouterModule.forChild([
-//     { path: '', component: DatasetComponent, canActivate: [FreeGuard, IsRouteEnabled], data: {
-//         redirect: '/error'
-//       },canDeactivate: [PreviousRouteRecorder] }
-//   ])
-// ]
-// })
-// export class DatasetRoutingModule { }
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html	(nonexistent)
@@ -1,342 +0,0 @@
-<div id="tm-main" class=" uk-section uk-padding-remove-top uk-margin-small-top tm-middle">
-
-  <div uk-grid>
-    <div class="tm-main uk-width-1-1@s uk-width-1-1@m  uk-width-1-1@l uk-row-first ">
-      <div class="uk-container dataset">
-        <div *ngIf="warningMessage.length > 0" class="uk-alert uk-alert-warning  uk-margin-large-top"
-             role="alert">{{warningMessage}}</div>
-        <div *ngIf="errorMessage.length > 0" class="uk-alert uk-alert-danger  uk-margin-large-top"
-             role="alert">{{errorMessage}}</div>
-        <div [style.display]="showLoading ? 'inline' : 'none'"
-             class="uk-animation-fade uk-margin-large-top  uk-width-1-1" role="alert"><span
-          class="loading-gif  uk-align-center"></span></div>
-        <helper *ngIf="pageContents && pageContents['top'] && pageContents['top'].length > 0"
-                [texts]="pageContents['top']"></helper>
-        <div *ngIf="datasetInfo != null" class="uk-grid">
-
-
-          <div class="uk-width-2-3@m uk-width-1-1@s uk-margin-bottom">
-            <schema2jsonld *ngIf="datasetInfo.record" [data]=datasetInfo.record
-                           [URL]="properties.baseLink+'/search/dataset?datasetId='+datasetId"></schema2jsonld>
-            <showTitle [titleName]="datasetInfo.title"></showTitle>
-            <p class="uk-text-large" *ngIf="datasetInfo.subtitle">
-              <span [innerHTML]="datasetInfo.subtitle"></span>
-            </p>
-            <span *ngIf="datasetInfo.types && datasetInfo.types.length > 0" class="uk-label custom-label label-dataset "
-                  title="Type">{{datasetInfo.types.join(", ")}}</span>{{" "}}
-            <span *ngIf="datasetInfo.languages && datasetInfo.languages.length > 0"
-                  class="uk-label custom-label  label-language "
-                  title="Language">{{datasetInfo.languages.join(", ")}}</span>{{" "}}
-            <span *ngIf="datasetInfo.countries && datasetInfo.countries.length > 0"
-                  class="uk-label custom-label  label-country "
-                  title="Country">{{datasetInfo.countries.join(", ")}}</span>{{" "}}
-
-            <!-- <span *ngIf="datasetInfo.title && datasetInfo.title.accessMode" [class]="'uk-label custom-label   label-'+ datasetInfo.title.accessMode " title="Access Mode">{{datasetInfo.title.accessMode}}</span> -->
-            <span *ngIf="datasetInfo.accessMode" [class]="'uk-label custom-label   label-'+ datasetInfo.accessMode "
-                  title="Access Mode">{{datasetInfo.accessMode}}</span>{{" "}}
-            <span *ngIf="datasetInfo.underCurationMessage" class="uk-label custom-label label-underCuration ">{{" "}}
-              <span uk-tooltip="pos:right; delay:10"
-                    title="{{buildCurationTooltip()}}">
-              <i>Record in preview</i>
-              <i class="uk-icon-info-circle"></i>
-            </span></span>
-            <!--div *ngIf="datasetInfo.underCurationMessage">
-              <span uk-tooltip="pos:right; delay:10"
-                    title="{{buildCurationTooltip()}}">
-                <i>Record in preview</i>
-                <i class="uk-icon-info-circle"></i>
-              </span>
-            </div-->
-
-            <div class=" uk-margin-top">
-              <showAuthors [authors]="datasetInfo.authors"></showAuthors>
-              <span *ngIf="datasetInfo.date != ''">({{datasetInfo.date}})</span>
-            </div>
-
-            <ul class="uk-list">
-              <showPublisher [publisher]="datasetInfo.publisher"
-                             [journal]="datasetInfo.journal" [properties]="properties"></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>
-              <li *ngIf="datasetInfo.subjects ||datasetInfo.otherSubjects ||  datasetInfo.classifiedSubjects">
-                <showSubjects [subjects]="datasetInfo.subjects"
-                              [otherSubjects]="datasetInfo.otherSubjects"
-                              [classifiedSubjects]="datasetInfo.classifiedSubjects">
-                </showSubjects>
-              </li>
-            </ul>
-            <hr *ngIf="datasetInfo.description">
-            <div *ngIf="datasetInfo.description"
-                 class="uk-text-justify descriptionText uk-height-max-medium uk-overflow-auto">
-              <span>{{datasetInfo.description.substring(0, showNumDescription)}}</span
-              ><span
-              *ngIf="showNumDescription == thresholdDescription && datasetInfo.description.length > thresholdDescription">...</span
-            ><span
-              *ngIf="showNumDescription == thresholdDescription && datasetInfo.description.length > thresholdDescription"
-              class="uk-text-right">
-                <a (click)="showNumDescription = datasetInfo.description.length;">
-                  View more
-                </a>
-              </span>
-            </div>
-            <div *ngIf="datasetInfo.description && showNumDescription > thresholdDescription"
-                 class="uk-width-1-1 uk-text-right">
-              <a (click)="showNumDescription = thresholdDescription;">
-                View less
-              </a>
-            </div>
-
-            <ul class="custom-accordion" uk-accordion>
-              <li *ngIf="datasetInfo.references" (click)="activeTab='References'">
-                <a class="uk-accordion-title" href="#">
-                  References ({{datasetInfo.references.length | number}})
-                </a>
-                <div class="uk-accordion-content">
-                  <div>
-                    <div *ngIf="datasetInfo.references.length > pageSize" class="uk-margin-bottom">
-                      <span class="uk-h6">{{datasetInfo.references.length | number}}
-                        references, page {{referencesPage | number}}
-                        of {{totalPages(datasetInfo.references.length) | number}}</span>
-                      <paging-no-load class="uk-float-right" [currentPage]="referencesPage"
-                                      [totalResults]="datasetInfo.references.length" [size]="pageSize"
-                                      (pageChange)="updateReferencesPage($event)"></paging-no-load>
-                    </div>
-
-                    <div
-                      *ngFor="let item of datasetInfo.references.slice((referencesPage-1)*pageSize, referencesPage*pageSize)">
-                      <p *ngIf=" item && item['url']"
-                         class="custom-external custom-icon">
-                        <a href="{{item['url']}}" target="_blank">
-                          {{item['name']}}
-                        </a>
-                      </p>
-                      <p *ngIf="!item['url']" class="pseudo-external custom-icon">
-                        {{item['name']}}
-                      </p>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="datasetInfo.relatedResearchResults" (click)="activeTab='Related Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Related Research Results
-                  <!-- <span *ngIf="!datasetInfo.relatedResearchResults" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="datasetInfo.relatedResearchResults" class="uk-badge uk-badge-notification">
-                      {{relatedResearchResultsNum | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{relatedResearchResultsNum | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!datasetInfo.relatedResearchResults" class = "uk-alert  uk-alert-primary">
-                      No related research results available
-                  </div>
-                  <div *ngIf="datasetInfo.relatedResearchResults"> -->
-                  <div>
-                    <div *ngFor="let provenanceaction of getKeys(datasetInfo.relatedResearchResults)">
-                      <div class="uk-text-large">{{provenanceaction}}</div>
-
-                      <tabTable percentageName="trust"
-                                [info]="datasetInfo.relatedResearchResults.get(provenanceaction)"
-                                [properties]=properties></tabTable>
-                    </div>
-                  </div>
-                </div>
-              </li>
-
-              <li *ngIf="datasetInfo.similarResearchResults" (click)="activeTab='Similar Research Results'">
-                <a class="uk-accordion-title" href="#">
-                  Similar Research Results
-                  <!-- <span *ngIf="!datasetInfo.similarResearchResults" class="uk-badge uk-badge-notification">0</span>
-                  <span *ngIf="datasetInfo.similarResearchResults" class="uk-badge uk-badge-notification">
-                      {{datasetInfo.similarResearchResults.length | number}}
-                  </span> -->
-                  <!-- <span class="uk-badge uk-badge-notification"> -->
-                  ({{datasetInfo.similarResearchResults.length | number}})
-                  <!-- </span> -->
-                </a>
-                <div class="uk-accordion-content">
-                  <!-- <div *ngIf="!datasetInfo.similarResearchResults" class = "uk-alert  uk-alert-primary" >
-                      No similar research results available
-                  </div>
-
-                  <div *ngIf="datasetInfo.similarResearchResults"> -->
-                  <div>
-                    <tabTable percentageName="similarity" [info]="datasetInfo.similarResearchResults"
-                              [properties]=properties></tabTable>
-                  </div>
-                </div>
-              </li>
-
-              <li (click)="metricsClicked=true; activeTab='Metrics'">
-                <a class="uk-accordion-title" href="#">
-                  Metrics
-                </a>
-                <div class="uk-accordion-content">
-                  <metrics [pageViews]="pageViews"
-                           [id]="datasetId" [entityType]="'results'" [entity]="'Research Data'"
-                           (metricsResults)="metricsResults($event)" [properties]=properties>
-                  </metrics>
-                  <i-frame *ngIf="metricsClicked && totalViews > 0"
-                           [url]=viewsFrameUrl width="100%" height="250">
-                  </i-frame>
-                  <i-frame *ngIf="metricsClicked && totalDownloads > 0"
-                           [url]=downloadsFrameUrl width="100%" height="250">
-                  </i-frame>
-                </div>
-              </li>
-
-              <li (click)="activeTab='Other Versions'"
-                  *ngIf="properties.environment != 'production' && datasetInfo.deletedByInferenceIds">
-                <a class="uk-accordion-title" href="#">
-                  Other Versions
-                  ({{datasetInfo.deletedByInferenceIds.length | number}})
-                </a>
-                <div *ngIf="activeTab=='Other Versions'" class="uk-accordion-content">
-                  <deletedByInference [id]="datasetId" [ids]="datasetInfo.deletedByInferenceIds"
-                                      [type]="'research data'"></deletedByInference>
-                </div>
-              </li>
-            </ul>
-
-          </div>
-
-          <div class="uk-width-1-3@m uk-width-1-1@s">
-            <div class="  uk-padding-small" *ngIf="isRouteAvailable('participate/direct-claim') ">
-              <button class="   uk-button portal-button   uk-width-1-1 ">
-              <span class="uk-icon">
-                   <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20"
-                        height="25"><path
-                     d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375"
-                     fill="none" stroke="#000" stroke-width="1.1"></path><path
-                     d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375"
-                     fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975"
-                                                                               fill="none" stroke="#000"
-                                                                               stroke-width="1.1"></path></svg>
-                 </span> Link this dataset to...
-              </button>
-              <div class="  uk-text-center uk-margin-expand uk-padding-small    uk-margin-auto  default-dropdown "
-                   uk-dropdown="mode:click">
-                <div class="uk-grid    uk-child-width-1-3  uk-width-large ">
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','project'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim"
-                  >
-                    <button class="uk-icon-button portal-button">
-                   <span class="uk-icon">
-                        <svg height="20" icon="album" ratio="1" viewBox="0 0 20 20" width="20"
-                             xmlns="http://www.w3.org/2000/svg"><rect height="1" width="10" x="5" y="2"></rect><rect
-                          height="1" width="14" x="3" y="4"></rect><rect fill="none" height="11" stroke="#000"
-                                                                         width="17" x="1.5" y="6.5"></rect></svg></span>
-                    </button>
-                    <div>Projects</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','result'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
-                    <button class="uk-icon-button portal-button">
-                      <span class="uk-icon">
-                           <svg height="20" icon="copy" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><rect fill="none" height="16" stroke="#000"
-                                                                         width="12" x="3.5" y="2.5"></rect><polyline
-                             fill="none" points="5 0.5 17.5 0.5 17.5 17" stroke="#000"></polyline></svg></span>
-                    </button>
-                    <div>Research results</div>
-                  </a></div>
-                  <div><a
-                    [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','context'])"
-                    routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
-                    <button class="uk-icon-button portal-button">
-                <span class="uk-icon">
-                           <svg height="20" icon="users" ratio="1" viewBox="0 0 20 20" width="20"
-                                xmlns="http://www.w3.org/2000/svg"><circle cx="7.7" cy="8.6" fill="none" r="3.5"
-                                                                           stroke="#000" stroke-width="1.1"></circle><path
-                             d="M1,18.1 C1.7,14.6 4.4,12.1 7.6,12.1 C10.9,12.1 13.7,14.8 14.3,18.3" fill="none"
-                             stroke="#000" stroke-width="1.1"></path><path
-                             d="M11.4,4 C12.8,2.4 15.4,2.8 16.3,4.7 C17.2,6.6 15.7,8.9 13.6,8.9 C16.5,8.9 18.8,11.3 19.2,14.1"
-                             fill="none" stroke="#000" stroke-width="1.1"></path></svg></span>
-                    </button>
-                    <div>Communities</div>
-                  </a></div>
-                </div>
-              </div>
-            </div>
-              <div>
-                <div class="sideInfoTitle uk-margin-small-bottom uk-margin-small-top">Share - Bookmark</div>
-                <addThis></addThis>
-
-              </div>
-
-
-
-                  <altmetrics *ngIf="datasetInfo.identifiers && datasetInfo.identifiers.get('doi')"
-                              id="{{datasetInfo.identifiers.get('doi')[0]}}" type="doi">
-                  </altmetrics>
-                  <ul class="uk-list uk-margin-remove-bottom ">
-
-                    <li *ngIf="datasetInfo.hostedBy_collectedFrom && datasetInfo.hostedBy_collectedFrom.length > 0">
-                      <availableOn [availableOn]="datasetInfo.hostedBy_collectedFrom"></availableOn>
-                    </li>
-                    <li *ngIf="datasetInfo.fundedByProjects != undefined && datasetInfo.fundedByProjects.length > 0">
-                      <fundedBy [fundedByProjects]="datasetInfo.fundedByProjects"></fundedBy>
-                    </li>
-
-                    <li *ngIf="datasetInfo.contexts && datasetInfo.contexts.length >0 ">
-                      <dl class="uk-description-list-line">
-                        <dt class="sideInfoTitle">Related to</dt>
-                        <dd class="line" *ngFor="let item of datasetInfo.contexts">
-                          <span *ngIf="!item['inline']">
-                            <span>{{item['labelContext']}}</span>
-                            <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                            <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                          </span>
-                          <mark *ngIf="item['inline']">
-                            <span>{{item['labelContext']}}</span>
-                            <span *ngIf="item['labelCategory']">-> {{item['labelCategory']}}</span>
-                            <span *ngIf="item['labelConcept']">: {{item['labelConcept']}}</span>
-                          </mark>
-                        </dd>
-
-                      </dl>
-
-                    </li>
-
-                    <!--li>
-                      <metrics [pageViews]="pageViews" shortView=true
-                          [id]="datasetId" [entityType]="'results'" [entity]="'Research Data'"
-                          (metricsResults)="metricsResults($event)" [(properties)] = properties>
-                      </metrics>
-                    </li-->
-
-                    <li>
-
-                      <div class="sideInfoTitle   cite-this-button uk-width-1-1" type="button">
-                        Cite this research data
-                      </div>
-                      <div class=" ">
-                        <citeThis [result]="datasetInfo" [id]="datasetId" type="research data"></citeThis>
-                      </div>
-
-                    </li>
-
-                  </ul>
-
-
-
-
-                </div>
-              </div>
-            </div>
-          </div>
-          <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
-                  [texts]="pageContents['bottom']" styleName="uk-width-1-1"></helper>
-        </div>
-
-        <helper *ngIf="pageContents && pageContents['bottom'] && pageContents['bottom'].length > 0"
-                [texts]="pageContents['bottom']"></helper>
-      </div>
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.service.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.service.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.service.ts	(nonexistent)
@@ -1,271 +0,0 @@
-import {Injectable} from '@angular/core';
-import {Http, Response} from '@angular/http';
-import {HttpClient, HttpErrorResponse} from "@angular/common/http";
-import {Observable, throwError} from 'rxjs';
-import {DatasetInfo} from '../../utils/entities/datasetInfo';
-
-
-
-import{EnvProperties} from '../../utils/properties/env-properties';
-
-import { ParsingFunctions } from '../landing-utils/parsingFunctions.class';
-import {map} from "rxjs/operators";
-
-@Injectable()
-export class DatasetService {
-
-  constructor(private http: HttpClient ) {
-    this.parsingFunctions = new ParsingFunctions();
-  }
-
-  public parsingFunctions: ParsingFunctions;
-  datasetInfo: DatasetInfo;
-
-  getDatasetInfo (id: string, properties:EnvProperties):any {
-
-    let url = properties.searchAPIURLLAst+'datasets/'+id+"?format=json";
-    let key = url;
-
-
-    return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url)
-                    //.map(res => <any> res.json())
-                    .pipe(map(res => [res['result']['header']['dri:status'], res['result']['metadata']['oaf:entity']['oaf:result'],res]))
-                    .pipe(map(res => [res[1],  //0
-                                 res[1]['title'],   //1
-                                 res[1]['rels']['rel'], //2
-                                 res[1]['children'],  //3
-                                 res[1]['pid'], //4
-                                 res[1]['subject'], //5
-                                 res[1]['bestaccessright'], //6
-                                 res[1]['collectedfrom'], //7
-                                 res[1]['context'], //8
-                                 //res[1]['resulttype'],
-                                 res[0],  //9
-                                 res[1]['creator'], //10
-                                 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]['journal'] //15
-                    ]))
-                    .pipe(map(res => this.parseDatasetInfo(res, properties)));
-  }
-
-  private handleError (error: HttpErrorResponse) {
-  // in a real world app, we may send the error to some remote logging infrastructure
-  // instead of just logging it to the console
-    console.log(error);
-    return throwError(error  || 'Server error');
-  }
-
-  parseDatasetInfo (data: any, properties: EnvProperties):any {
-    this.datasetInfo = new DatasetInfo();
-    this.datasetInfo.record = data[13];
-    // ['result']['metadata']['oaf:entity']['oaf:result']
-    if(data[0] != null) {
-      var date:string = (data[0].dateofacceptance)+""; // transform to string in case it is an integer
-      this.datasetInfo.date  = (date && (date).indexOf('-') !== -1)?date.split('-')[0]:date;
-      this.datasetInfo.dateofacceptance = data[0].dateofacceptance;
-      this.datasetInfo.publisher = data[0].publisher;
-      if(!Array.isArray(data[0].description)) {
-        this.datasetInfo.description = String(data[0].description);
-      } else {
-        this.datasetInfo.description = String(data[0].description[0]);
-      }
-      this.datasetInfo.embargoEndDate = data[0].embargoenddate;
-    }
-    /*this.datasetInfo.title = {"name": "", "url": "", "accessMode": ""};
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.datasetInfo.title.accessMode = data[0]['bestaccessright'].classid;
-    }
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.datasetInfo.title['name'] = data[1][0].content;
-      } else {
-        this.datasetInfo.title['name'] = data[1].content;
-      }
-    }*/
-    if(data[0]['bestaccessright'] && data[0]['bestaccessright'].hasOwnProperty("classid")) {
-      this.datasetInfo.accessMode = data[0]['bestaccessright'].classid;
-    }
-    // ['result']['metadata']['oaf:entity']['oaf:result']['title']
-    if(data[1] != null) {
-      if(Array.isArray(data[1])) {
-        this.datasetInfo.title = String(data[1][0].content);
-        if(data[1][1].classid == "subtitle") {
-          this.datasetInfo.subtitle = String(data[1][1].content);
-        }
-      } else {
-        this.datasetInfo.title = String(data[1].content);
-      }
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['rels']['rel']
-    if(data[2] != null) {
-      let relation;
-      let length = data[2].length!=undefined ? data[2].length : 1;
-
-      for(let i=0; i<length; i++) {
-        relation = data[2].length!=undefined ? data[2][i] : data[2];
-        if(relation.hasOwnProperty("to")) {
-          if(relation['to'].class == "isProducedBy") {
-            this.datasetInfo.fundedByProjects = this.parsingFunctions.parseFundingByProjects(this.datasetInfo.fundedByProjects, relation, this.datasetInfo.projectsProvenanceVocabulary);
-          } else if(relation['to'].class == "isRelatedTo") {
-            let provenanceAction: string;
-            if(relation.provenanceaction in this.datasetInfo.researchResultsProvenanceVocabulary) {
-              provenanceAction = this.datasetInfo.researchResultsProvenanceVocabulary[relation.provenanceaction];
-            } else {
-              provenanceAction = "Other"
-            }
-
-            this.datasetInfo.relatedResearchResults = this.parsingFunctions.parseRelatedResearchResults(this.datasetInfo.relatedResearchResults, relation, provenanceAction);
-
-          } else if(relation['to'].class == "hasAmongTopNSimilarDocuments") {
-            this.datasetInfo.similarResearchResults = this.parsingFunctions.parseSimilarResearchResults(this.datasetInfo.similarResearchResults, relation);
-          }
-        }
-      }
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['children']
-    if(data[3] != null) {
-      if(data[3].hasOwnProperty("result")) {
-        this.datasetInfo.deletedByInferenceIds = [];
-        let length = Array.isArray(data[3]['result']) ? data[3]['result'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          let result = Array.isArray(data[3]['result']) ? data[3]['result'][i] : data[3]['result'];
-          this.datasetInfo.deletedByInferenceIds.push(result.objidentifier);
-        }
-      }
-
-      if(data[3].hasOwnProperty("instance")) {
-        this.datasetInfo.hostedBy_collectedFrom = new Array<{ "downloadName": string, "downloadUrl": string[],
-                                                              "collectedName": string, "collectedId": string,
-                                                              "accessMode": string[], "bestAccessMode": string,
-                                                              "type": string, "year":string}>();
-
-        this.datasetInfo.types = new Array<string>();
-        let types = new Set<string>();
-
-        let counter = 0;
-        let instance;
-
-        let length = data[3]['instance'].length!=undefined ? data[3]['instance'].length : 1;
-
-        for(let i=0; i<length; i++) {
-          instance = data[3]['instance'].length!=undefined ? data[3]['instance'][i] : data[3]['instance'];
-
-          this.parsingFunctions.parseTypes(this.datasetInfo.types, types, instance);
-
-          if(instance.hasOwnProperty("webresource")) {
-            let url;
-            if(instance['webresource'].length == undefined) {
-              url = instance['webresource'].url;
-            } else{
-              url = instance['webresource'][0].url;
-            }
-
-            if(instance.hasOwnProperty("hostedby")) {
-              counter = this.parsingFunctions.parseHostedBy_collectedFrom(this.datasetInfo.hostedBy_collectedFrom, instance, data[0], url, counter/*, this.datasetInfo.title*/, this.datasetInfo.accessMode);
-            }
-          }
-        }
-      }
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['pid']
-    if(data[4] != null) {
-      this.datasetInfo.identifiers = this.parsingFunctions.parseIdentifiers(data[4]);
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['subject']
-    if(data[5] != null) {
-      let subjectResults: [string[], Map<string, string[]>, Map<string, string[]>] = this.parsingFunctions.parseAllSubjects(data[5]);
-      this.datasetInfo.subjects = subjectResults[0];
-      this.datasetInfo.otherSubjects = subjectResults[1];
-      this.datasetInfo.classifiedSubjects = subjectResults[2];
-    }
-
-    this.datasetInfo.hostedBy_collectedFrom = this.parsingFunctions.addPublisherToHostedBy_collectedFrom(
-                this.datasetInfo.hostedBy_collectedFrom, this.datasetInfo.publisher,
-                null, this.datasetInfo.identifiers/*, this.datasetInfo.title*/);
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['context']
-    if(data[8] != null) {
-      this.datasetInfo.contexts = this.parsingFunctions.parseContexts(data[8]);
-    }
-
-    // if(data[9] != null && this.datasetInfo.type == undefined) {
-    //   if(data[9].hasOwnProperty('classname')) {
-    //     this.datasetInfo.type = data[9].classname;
-    //   }
-    // }
-
-    // ['result']['header']['dri:status']
-    if(data[9] != null && data[9] == "under curation") {
-      this.datasetInfo.underCurationMessage = true;
-    } else {
-      this.datasetInfo.underCurationMessage = false;
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['creator']
-    if(data[10] != null) {
-      if(this.datasetInfo.authors == undefined) {
-        this.datasetInfo.authors = new Array<{"fullName": string, "orcid": string}>();
-      }
-
-      let authors = data[10];
-      let length = Array.isArray(authors) ? authors.length : 1;
-
-      for(let i=0; i<length; i++) {
-        let author = Array.isArray(authors) ? authors[i] : authors;
-        if(author) {
-          /*if (author.ORCID && author.ORCID.indexOf(properties.orcidURL) != -1) {
-            author.ORCID = author.ORCID.substr(properties.orcidURL.length);
-          }*/
-          this.datasetInfo['authors'][author.rank] = {"fullName": author.content, "orcid": author.ORCID};
-        }
-      }
-      this.datasetInfo.authors = this.datasetInfo.authors.filter(function (item) {
-        return (item != undefined && item.fullName != undefined);
-      });
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['language']
-    if(data[11] != null) {
-      this.datasetInfo.languages = this.parsingFunctions.parseLanguages(data[11]);
-    }
-    // ['result']['metadata']['oaf:entity']['oaf:result']['country']
-    if(data[12] != null) {
-      this.datasetInfo.countries = this.parsingFunctions.parseCountries(data[12]);
-    }
-
-    // ['result']['metadata']['oaf:entity']['oaf:result']['extraInfo']['citations']['citation']
-    if(data[14] != null) {
-      this.datasetInfo.references = this.parsingFunctions.parseReferences(data[14]);
-    }
-
-    if(this.datasetInfo.relatedResearchResults) {
-      let self = this;
-      this.datasetInfo.relatedResearchResults.forEach(function (value, key, map) {
-        self.datasetInfo.relatedResearchResults.set(key, self.parsingFunctions.sortByPercentage(value));
-      });
-    }
-    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/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.component.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.component.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/landingPages/dataset/dataset.component.ts	(nonexistent)
@@ -1,16 +0,0 @@
-import {Component, Input} from '@angular/core';
-
-@Component({
-  selector: 'dataset',
-  template: `
-    <result-landing type="dataset" [piwikSiteId]="piwikSiteId" [communityId]="communityId" [activeTab]="'References'"></result-landing>
-  `})
-
-export class DatasetComponent {
-  @Input() piwikSiteId = null;
-  @Input() communityId = null;
-
-  constructor() {}
-
-  ngOnInit() {}
-}
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/package.json
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/package.json	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/package.json	(revision 56950)
@@ -8,7 +8,7 @@
   ],
   "scripts": {
     "ng": "ng",
-    "start": "ng serve --disable-host-check --host 0.0.0.0",
+    "start": "ng serve --disable-host-check --host 0.0.0.0 --port 4300",
     "build": "ng build",
     "lint": "ng lint ng-openaire-library",
     "build:client-and-server-bundles": "ng build --prod && ng run ng-openaire-library:server:production",
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/app.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/app.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/app.module.ts	(revision 56950)
@@ -13,10 +13,8 @@
 // import { ErrorModule } from './error/error.module';
 import { ConfigurationService } from './utils/configuration/configuration.service';
 import {MainSearchModule} from './searchPages/find/mainSearch.module';
-import {PublicationModule} from './landingPages/publication/publication.module';
-import {DatasetModule} from './landingPages/dataset/dataset.module';
-import {SoftwareModule} from './landingPages/software/software.module';
-import {OrpModule} from './landingPages/orp/orp.module';
+
+import {ResultLandingModule} from "./landingPages/resultLanding.module";
 import {DataProviderModule} from './landingPages/dataProvider/dataProvider.module';
 import {ProjectModule} from './landingPages/project/project.module';
 import {OrganizationModule} from './landingPages/organization/organization.module';
@@ -78,7 +76,7 @@
     DepositDatasetsModule,DepositDatasetsResultsModule, DepositBySubjectResultsModule,DepositPublicationsModule , DepositPublicationsResultsModule,
     SearchPublicationsModule,SearchDatasetsModule, SearchSoftwareModule, SearchOrpsModule, SearchDataProvidersModule, SearchProjectsModule, SearchOrganizationsModule,
     AdvancedSearchPublicationsModule,AdvancedSearchDatasetsModule, AdvancedSearchSoftwareModule, AdvancedSearchOrpsModule, AdvancedSearchDataProvidersModule, AdvancedSearchProjectsModule, AdvancedSearchOrganizationsModule,
-    PublicationModule, DatasetModule, DataProviderModule, OrganizationModule, ProjectModule, SoftwareModule, OrpModule,
+    ResultLandingModule, DataProviderModule, OrganizationModule, ProjectModule,
     EntityRegistriesModule, CompatibleDataProvidersModule, JournalsModule,
     JournalsTableModule, EntityRegistriesTableModule, CompatibleDataProvidersTableModule,
     ClaimsAdminModule, MyClaimsModule, ClaimsByTokenModule, LinkingGenericModule, DirectLinkingModule,
Index: modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/app-routing.module.ts
===================================================================
--- modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/app-routing.module.ts	(revision 56949)
+++ modules/uoa-services-library/branches/mergeResultLandingPages/ng-openaire-library/src/app/app-routing.module.ts	(revision 56950)
@@ -9,10 +9,7 @@
 import { ErrorPageComponent } from './error/errorPage.component';
 import {SearchComponent} from './searchPages/find/search.component';
 
-import {PublicationComponent} from './landingPages/publication/publication.component';
-import {DatasetComponent} from './landingPages/dataset/dataset.component';
-import {SoftwareComponent} from './landingPages/software/software.component';
-import {OrpComponent} from './landingPages/orp/orp.component';
+import {ResultLandingComponent} from "./landingPages/resultLanding.component";
 import {DataProviderComponent} from './landingPages/dataProvider/dataProvider.component';
 import {ProjectComponent} from './landingPages/project/project.component';
 import {OrganizationComponent} from './landingPages/organization/organization.component';
@@ -60,10 +57,10 @@
 
   { path: '', component:  SearchComponent, resolve: { envSpecific: EnvironmentSpecificResolver  }, canActivate: [ ]},
   { path: 'home', component:  SearchComponent, resolve: { envSpecific: EnvironmentSpecificResolver  } },
-  { path: 'search/publication', component: PublicationComponent , resolve: { envSpecific: EnvironmentSpecificResolver  } },
-  { path: 'search/dataset', component: DatasetComponent, resolve: { envSpecific: EnvironmentSpecificResolver  } },
-  { path: 'search/software', component: SoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver  } },
-  { path: 'search/other', component: OrpComponent, resolve: { envSpecific: EnvironmentSpecificResolver  }},
+  { path: 'search/publication', component: ResultLandingComponent , resolve: { envSpecific: EnvironmentSpecificResolver  } },
+  { path: 'search/dataset', component: ResultLandingComponent, resolve: { envSpecific: EnvironmentSpecificResolver  } },
+  { path: 'search/software', component: ResultLandingComponent, resolve: { envSpecific: EnvironmentSpecificResolver  } },
+  { path: 'search/other', component: ResultLandingComponent, resolve: { envSpecific: EnvironmentSpecificResolver  }},
   { path: 'search/project', component: ProjectComponent , resolve: { envSpecific: EnvironmentSpecificResolver  } },
   { path: 'search/dataprovider', component: DataProviderComponent , resolve: { envSpecific: EnvironmentSpecificResolver  } },
   { path: 'search/organization', component: OrganizationComponent , resolve: { envSpecific: EnvironmentSpecificResolver  } },
