import {Component, Input, ViewChild} from '@angular/core'; import {ZenodoInformationClass} from './utils/zenodoInformation.class'; import {EnvProperties} from "../utils/properties/env-properties"; import {ActivatedRoute, Router} from "@angular/router"; import {PiwikService} from "../utils/piwik/piwik.service"; import {HelperService} from "../utils/helper/helper.service"; import {RouterHelper} from "../utils/routerHelper.class"; import {SEOService} from "../sharedComponents/SEO/SEO.service"; import {Meta, Title} from "@angular/platform-browser"; import {Breadcrumb} from "../utils/breadcrumbs/breadcrumbs.component"; import {properties} from "../../../environments/environment"; import {Subscriber} from "rxjs"; import {FullScreenModalComponent} from '../utils/modal/full-screen-modal/full-screen-modal.component'; @Component({ selector: 'deposit-first-page', template: `

Find a repository to deposit or publish your research in Open Access.

deposit hero image
deposit steps/numbers image
1. Find the appropriate repository or journal
Find the appropriate repository to deposit your research products of any type (publication, data, software, other) or to include in your data management plan. Search and browse for OpenAIRE compliant repositories registered in OpenDOAR, re3data and FAIRsharing. Looking for Open Access journals? Find those that suit your needs among the journals registered in the Directory of Open Access Journals (DOAJ). To know more, read the OpenAIRE Open Access primer (https://www.openaire.eu/oa-basics)
2. Deposit
Find the repository to deposit your research or use the Zenodo communities suggested by the community curators repository.
3. Publish
Find the Open Access journals that suit your needs among those registered in the Directory of Open Access Journals (DOAJ).
How to comply with funder Open Access policies

Find the appropriate repository.

OpenAIRE logo
Search and browse for OpenAIRE compliant repositories registered in OpenDOAR, re3data and FAIRsharing.
Zenodo logo
Deposit your research in Zenodo repository
Zenodo logo
Deposit your research in Zenodo repository
Suggested Repositories
Select a repository suggested by the community curators.
`, }) export class DepositFirstPageComponent { public url: string = null; public title: string = "Deposit or publish your research in Open Access"; @Input() public zenodoInformation: ZenodoInformationClass = new ZenodoInformationClass(); @Input() assetsPath: string = 'assets/common-assets/common'; @Input() communityId = null; public pageContents = null; public divContents = null; public keyword: string; public depositRoute: string; public searchPlaceHolder = "Search by title, country, organization, subject, type..."; properties:EnvProperties; public routerHelper:RouterHelper = new RouterHelper(); @Input() showBreadcrumb:boolean = false; breadcrumbs:Breadcrumb[] = []; subscriptions = []; @ViewChild('fsModal', { static: true }) fsModal: FullScreenModalComponent; constructor (private route: ActivatedRoute, private _piwikService:PiwikService, private helper: HelperService, private _router: Router, private _meta: Meta, private _title: Title, private seoService: SEOService) { } ngOnInit() { this.properties = properties; this.url = this.properties.domain+this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url, false); var description = "Find the appropriate repository or journal or use Zenodo repository to deposit your research and publish in the Open Access journals that suit your needs."; this.updateTitle(this.title); this.updateDescription(description); this.updateUrl(this.url); this.depositRoute = this.properties.depositSearchPage; //this.getDivContents(); this.getPageContents(); if (!this.zenodoInformation) { this.zenodoInformation = new ZenodoInformationClass(); } if (!this.zenodoInformation.shareInZenodoUrl) { this.zenodoInformation.url = this.properties.zenodo; } if (!this.zenodoInformation.name) { this.zenodoInformation.name = "Zenodo"; } this.subscriptions.push(this._piwikService.trackView(this.properties, this.title).subscribe()); this.breadcrumbs.push({name: 'home', route: '/'}, {name: "Deposit", route: null}); } public getPageContents() { this.subscriptions.push(this.helper.getPageHelpContents(this.properties, this.communityId, this._router.url).subscribe(contents => { this.pageContents = contents; })); } public getDivContents() { this.subscriptions.push(this.helper.getDivHelpContents(this.properties, this.communityId, this._router.url).subscribe(contents => { this.divContents = contents; })); } ngOnDestroy() { this.subscriptions.forEach(subscription => { if (subscription instanceof Subscriber) { subscription.unsubscribe(); } }); } private updateDescription(description:string) { this._meta.updateTag({content:description},"name='description'"); this._meta.updateTag({content:description},"property='og:description'"); } private updateTitle(title:string) { var _prefix =""; if(!this.communityId) { _prefix ="OpenAIRE | "; } var _title = _prefix + ((title.length> 50 ) ?title.substring(0,50):title); this._title.setTitle(_title); this._meta.updateTag({content:_title},"property='og:title'"); } private updateUrl(url:string) { this._meta.updateTag({content:url},"property='og:url'"); } public openFsModal() { this.fsModal.open(); } public closeFsModal() { this.fsModal.cancel(); } }