diff --git a/package.json b/package.json index cca8320..ff0c27e 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ba0bc2b..43a266b 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -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} diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 07612c2..367f257 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -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 = {}; diff --git a/src/app/develop/develop.component.css b/src/app/develop/develop.component.css new file mode 100644 index 0000000..a1924dd --- /dev/null +++ b/src/app/develop/develop.component.css @@ -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; + } +} diff --git a/src/app/develop/develop.component.ts b/src/app/develop/develop.component.ts new file mode 100644 index 0000000..ac40b20 --- /dev/null +++ b/src/app/develop/develop.component.ts @@ -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: ` +
+
+
+

+ Develop +

+
+

Help developers with OpenAIRE APIs +

+
+ Not sure where to start? Let us give you some guides and request examples. +
+
+
+

+ For research outcomes + (publications, datasets, software and other research data) you can use the + Selective Access APIs + by adding the country parameter. +

+

+ Request examples: +

+
    +
  • + Access “Publications”
    + GET + https://api.openaire.eu/search/publications?country={{aggregator.valueId}} +
  • +
  • + Access “Open Access Publications”
    + GET + http://api.openaire.eu/search/publications?country={{aggregator.valueId}}&OA=true +
  • +
  • + Access “Datasets”
    + GET + https://api.openaire.eu/search/datasets?country={{aggregator.valueId}} +
  • +
  • + Access “Software”
    + GET + https://api.openaire.eu/search/software?country={{aggregator.valueId}} +
  • +
  • + Access “Other Research”
    + GET + https://api.openaire.eu/search/other?country={{aggregator.valueId}} +
  • +
+
+ +
+
+
+ For more information on the full potential of the OpenAIRE APIs please check + the OpenAIRE API Documentation. +
+
+
+
+
+
+ `, + 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}}); + } + + +} diff --git a/src/app/develop/develop.module.ts b/src/app/develop/develop.module.ts new file mode 100644 index 0000000..c0299ef --- /dev/null +++ b/src/app/develop/develop.module.ts @@ -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 { + +} diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html index 6477bca..6fc2f1d 100644 --- a/src/app/home/home.component.html +++ b/src/app/home/home.component.html @@ -71,36 +71,20 @@
-
Extracted Metadata Combined.
+
Lorem ipsum dolor sit amet
-

The OpenAIRE Research Graph 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.
-
- 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.
-
- 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.
-
- 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.

+

The OpenAIRE Research Graph + ... 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 +

-
- Read more -
-
- Read less -
+ + + + + +
diff --git a/src/app/utils/aggregators.ts b/src/app/utils/aggregators.ts index 77ca988..0ede707 100644 --- a/src/app/utils/aggregators.ts +++ b/src/app/utils/aggregators.ts @@ -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]; diff --git a/src/environments/environment.beta.ts b/src/environments/environment.beta.ts index c638dc6..b69c986 100644 --- a/src/environments/environment.beta.ts +++ b/src/environments/environment.beta.ts @@ -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",