[Aggregator| Trunk]

- package.json: remove wiki-data, citation-js
- Develop: add route, component



git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-aggregator-portal/trunk@60186 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
argiro.kokogiannaki 2021-01-04 11:50:58 +00:00
parent 286964a91e
commit 9c53582deb
9 changed files with 253 additions and 33 deletions

View File

@ -44,7 +44,6 @@
"@nguniversal/module-map-ngfactory-loader": "^6.0.0",
"@types/express": "^4.16.1",
"angular-datatables": "^4.4.1",
"citation-js": "^0.3.4",
"clipboard": "^1.5.16",
"core-js": "^2.4.1",
"datatables.net": "^1.10.19",
@ -57,7 +56,6 @@
"prom-client": "^11.3.0",
"ts-md5": "^1.2.0",
"tslib": "^1.9.0",
"wikidata-sdk": "^5.2.9",
"zone.js": "^0.8.26"
},
"devDependencies": {

View File

@ -95,6 +95,9 @@ const routes: Routes = [
{ path: 'myclaims', loadChildren: './claims/myClaims/myClaims.module#LibMyClaimsModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'participate/claim', loadChildren: './claims/linking/linkingGeneric.module#LibLinkingGenericModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{ path: 'participate/direct-claim', loadChildren: './claims/directLinking/directLinking.module#LibDirectLinkingModule', resolve: { envSpecific: EnvironmentSpecificResolver }},
{path: 'develop', loadChildren: './develop/develop.module#DevelopModule'},
{path: 'user-info', loadChildren: './login/libUser.module#LibUserModule'},
{path: 'error', component: OpenaireErrorPageComponent},
{path: '**', pathMatch: 'full', component: OpenaireErrorPageComponent}

View File

@ -114,6 +114,10 @@ export class AppComponent {
rootItem: new MenuItem("link", "Link", "", "/participate/claim", false, [], ["/participate/claim"], {}),
items: [new MenuItem("", "Start linking", "", "/participate/claim", false, [], ["/participate/claim"], {}),
new MenuItem("", "Learn more", this.properties.claimsInformationLink, "", false, [], [], {})]
},
{
rootItem: new MenuItem("develop", "Develop", "", "/develop", false, [], ["/develop"], {}),
items: []
}
];
let params = {};

View File

@ -0,0 +1,60 @@
.uk-card {
box-shadow: 0 6px 15px #0000001A;
border-radius: 36px;
padding: 65px;
font-family: "Roboto", sans-serif;
font-size: var(--large-font-size);;
}
ul.portal-circle {
list-style: none;
padding-left: 40px;
font-family: "Open Sans", sans-serif;
font-size: var(--font-size);;
}
ul.portal-circle li {
margin: 0 0 20px 0;
position: relative;
}
ul.portal-circle li:before {
content: "";
border: 5px var(--portal-main-color) solid !important;
border-radius: 50px;
line-height: 21px;
margin-left: -20px;
position: absolute;
top: 7px;
}
.documentation {
max-width: 500px;
background: #EEF7E6;
border-radius: 15px;
padding: 30px;
font-family: "Open Sans", sans-serif;
font-size: var(--small-font-size);
}
@media only screen and (max-width: 959px) {
.uk-card {
padding: 30px;
}
ul.portal-circle {
padding-left: 20px;
}
ul.light-blue-triangle li {
margin: 0 0 20px 0;
}
ul.light-blue-circle.large li {
margin: 0 0 20px 0;
}
.documentation {
padding: 10px;
}
}

View File

@ -0,0 +1,151 @@
import {Component, OnInit} from "@angular/core";
import {Meta, Title} from "@angular/platform-browser";
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
import {properties} from "../../environments/environment";
import {Router} from "@angular/router";
import {AggregatorInfo, PortalAggregators} from "../utils/aggregators";
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
@Component({
selector: 'develop',
template: `
<div page-content>
<div inner>
<div *ngIf="aggregator" class="uk-container uk-container-large uk-section-small">
<h2 class="uk-text-center">
Develop
</h2>
<div class="uk-margin-medium-top uk-card uk-card-body uk-card-default">
<h3 class="uk-text-center">Help developers with <span
class="portal-color uk-text-bold">OpenAIRE APIs</span>
</h3>
<div class="uk-margin-large-top uk-margin-medium-bottom">
Not sure where to start? Let us give you some guides and request examples.
</div>
<div class="uk-grid uk-child-width-1-1" uk-grid>
<div>
<p>
<span class="uk-text-bold">For research outcomes </span>
(publications, datasets, software and other research data) you can use the
<a href="http://api.openaire.eu/api.html" target="_blank">Selective Access APIs</a>
by adding the <span class="uk-text-lowercase">country</span> parameter.
</p>
<p>
Request examples:
</p>
<ul class="portal-circle">
<li>
<span class="uk-text-bold">Access Publications</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/publications?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">Access Open Access Publications</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">http://api.openaire.eu/search/publications?country={{aggregator.valueId}}&OA=true</span>
</li>
<li>
<span class="uk-text-bold">Access Datasets</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/datasets?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">Access Software</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/software?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">Access Other Research</span><br>
<span class="uk-text-bold">GET</span>
<span
class="uk-text-break space">https://api.openaire.eu/search/other?country={{aggregator.valueId}}</span>
</li>
</ul>
</div>
<!--<div>
<p>
<span class="uk-text-bold">For projects</span> you can use the <a
href="http://api.openaire.eu/api.html" target="_blank">Selective Access APIs</a>
and the <a href="http://api.openaire.eu/bulk-projects.html" target="_blank">Bulk Access APIs</a>.
</p>
<p>
Request examples:
</p>
<ul class="portal-circle">
<li>
<span class="uk-text-bold">For the Selective Access</span><br>
<span
class="uk-text-break space">https://api.openaire.eu/search/projects?country={{aggregator.valueId}}</span>
</li>
<li>
<span class="uk-text-bold">For the Bulk Access</span><br>
<span class="uk-text-bold uk-text-nowrap">DSpace endpoint:</span>
<span
class="uk-text-break space">https://api.openaire.eu/projects/dspace/{{aggregator.valueId}}/ALL/ ALL</span><br>
<span class="uk-text-bold uk-text-nowrap">ePrints endpoint:</span>
<span
class="uk-text-break space">https://api.openaire.eu/projects/eprints/{{aggregator.valueId}}/ALL/ ALL</span>
</li>
</ul>
<div class="uk-flex uk-flex-center uk-width-1-1 uk-margin-medium-top">
<img width="350" src="assets/develop.png">
</div>
</div>-->
</div>
<div class="uk-margin-large-top uk-flex uk-flex-center uk-padding">
<div class="documentation">
For <span
class="uk-text-bold">more information</span> on the full potential of the OpenAIRE APIs please check
the <a href="http://develop.openaire.eu/" target="_blank">OpenAIRE API Documentation</a>.
</div>
</div>
</div>
</div>
</div>
</div>
`,
styleUrls: ['develop.component.css']
})
export class DevelopComponent implements OnInit {
public aggregator: AggregatorInfo = null;
constructor(private seoService: SEOService,
private _meta: Meta,
private _router: Router,
private _title: Title) {
}
ngOnInit() {
let id = ConnectHelper.getCommunityFromDomain(properties.domain);
this.aggregator = PortalAggregators.getFilterInfoByMenuId(id);
if (this.aggregator) {
/* Metadata */
const url = properties.domain + properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(url, false);
this._meta.updateTag({content: url}, "property='og:url'");
const description = "Develop | " + this.aggregator.valueName;
const title = "Develop | " + this.aggregator.valueName;
this._meta.updateTag({content: description}, "name='description'");
this._meta.updateTag({content: description}, "property='og:description'");
this._meta.updateTag({content: title}, "property='og:title'");
this._title.setTitle(title);
}else {
this.navigateToError();
}
}
private navigateToError() {
this._router.navigate(['/error'], {queryParams: {'page': this._router.url}});
}
}

View File

@ -0,0 +1,20 @@
import {NgModule} from "@angular/core";
import {CommonModule} from "@angular/common";
import {DevelopComponent} from "./develop.component";
import {RouterModule} from "@angular/router";
import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
@NgModule({
declarations: [DevelopComponent],
imports: [CommonModule, RouterModule.forChild([
{
path: '',
component: DevelopComponent,
canDeactivate: [PreviousRouteRecorder]
},
])],
exports: [DevelopComponent]
})
export class DevelopModule {
}

View File

@ -71,36 +71,20 @@
<div class="uk-flex uk-flex-top uk-child-width-1-1 uk-child-width-1-2@m" uk-grid>
<div class="uk-flex-last@m">
<div [class.lines-10]="!readMore" class="uk-margin-bottom multi-line-ellipsis">
<div class="uk-h3">Extracted <strong>Metadata Combined.</strong></div>
<div class="uk-h3">Lorem ipsum dolor sit amet</div>
<p>The <a class="graph-color" href="https://graph.openaire.eu" target="blank">OpenAIRE Research Graph</a> is
one of the largest open scholarly record collections worldwide, key in fostering Open Science and
establishing its practices in the daily research activities. Conceived as a public and transparent good,
populated out of data sources trusted by scientists, the Graph aims at bringing discovery, monitoring, and
assessment of science back in the hands of the scientific community.<br>
<br>
Imagine a vast collection of research products all linked together, contextualised and openly available. For
the past ten years OpenAIRE has been working to gather this valuable record. OpenAIRE is pleased to announce
the release of its Research Graph, a massive collection of metadata and links between scientific products
such as articles, datasets, software, and other research products, entities like organisations, funders,
funding streams, projects, communities, and data sources.<br>
<br>
As of today, the OpenAIRE Research Graph aggregates around 450Mi metadata records with links collecting from
10,000 data sources trusted by scientists! After cleaning, deduplication, and fine-grained classification
processes, they narrow down to ~100Mi publications, ~8Mi datasets, ~200K software research products, 8Mi
other products linked together with semantic relations.<br>
<br>
More than 10Mi full-texts of Open Access publications are mined by algorithms to enrich metadata records
with additional properties and links among research products, funders, projects, communities, and
organizations. Thanks to the mining algorithm, the graph is completed with 480Mi semantic relations.</p>
<p>The <a class="graph-color" href="https://graph.openaire.eu" target="blank">OpenAIRE Research Graph</a>
... lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum
</p>
</div>
<div *ngIf="!readMore" class="uk-text-center clickable" (click)="readMore = true">
<span>Read more<span class="space" uk-icon="chevron-down"></span></span>
</div>
<div *ngIf="readMore" class="uk-text-center clickable" (click)="readMore = false">
<span>Read less<span class="space" uk-icon="chevron-up"></span></span>
</div>
<!-- <div *ngIf="!readMore" class="uk-text-center clickable" (click)="readMore = true">-->
<!-- <span>Read more<span class="space" uk-icon="chevron-down"></span></span>-->
<!-- </div>-->
<!-- <div *ngIf="readMore" class="uk-text-center clickable" (click)="readMore = false">-->
<!-- <span>Read less<span class="space" uk-icon="chevron-up"></span></span>-->
<!-- </div>-->
</div>
<div class="uk-flex uk-flex-bottom">
<div class="uk-width-1-3 uk-width-1-2@m">

View File

@ -35,9 +35,9 @@ export class PortalAggregators {
];
static disabled = {
"canada": {pages: [], entities: []},
"canada": {pages: [], entities: ["software"]},
"italy": {pages: [], entities: []},
"greece": {pages: [], entities: ["dataset"]}
"greece": {pages: [], entities: []}
};
static defaultAggregator: AggregatorInfo = PortalAggregators.list[0];

View File

@ -105,8 +105,8 @@ export let properties: EnvProperties = {
searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: false,
lastIndexInformationLink: "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
showLastIndexInformationLink: true,
widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
claimsInformationLink: "https://beta.openaire.eu/linking",
lastIndexUpdate: "2020-05-11",