import {Component, ElementRef, OnInit, ViewChild} from '@angular/core'; import {ActivatedRoute, Router} from '@angular/router'; import {Meta, Title} from '@angular/platform-browser'; import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service'; import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties'; import {HelperService} from "../openaireLibrary/utils/helper/helper.service"; import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service"; import {Breadcrumb} from "../openaireLibrary/utils/breadcrumbs/breadcrumbs.component"; import {Subscriber} from "rxjs"; import {properties} from "../../environments/environment"; import {QuickContactService} from '../openaireLibrary/sharedComponents/quick-contact/quick-contact.service'; @Component({ selector: 'learn-how', template: `

Learn the process.

Build a Gateway to your community's open and linked research outputs. Customized to your needs.
You don’t have to go alone.
We work with you in 4 collaborative steps to identify your needs, putting in practice our expertise on open science so you get the most out of OpenAIRE’s operational services.
1. Understanding your needs
First, we learn about your requirements and challenges. We help you understand Open Science practices within EOSC and together we’ll talk about how OpenAIRE RCD fits as a solution.
2. Develop a pilot
How do you work today, and how would you like to work tomorrow? We translate your needs into rules and processes and we configure operational OpenAIRE services. By the end of this phase, we’ll have defined the basic configuration of your Community Gateway.
3. Test and Validate
You validate and test your new Community Gateway (portal) with your experts and community to ensure all workflows are in place and quality of data meets your standards. If needed, we work together in another iteration to further refine and adapt to your needs.
4. Roll out the service
We jointly roll out your new Community Gateway. You take over the business operations and start engaging your researchers, we take care of the smooth operation of the e-service.
1. Understanding your needs
"Identify the scope and goals. Understand open science practices within EOSC and the OpenAIRE services."
In this stage, you get to talk to the OpenAIRE team. Share your expectations with us and let us give you all the details about the operational OpenAIRE services, which will be integrated into the Gateway for your community.
Here are the most important questions that the OpenAIRE team will ask you, in order to understand your scope and goals:
  • Do you want a gateway, where researchers can have access to all research products of a discipline? Do you want a gateway that gathers any research outcome, produced thanks to the funding and services of a given research infrastructure?
  • Is your community (in)formally organized in sub-communities? Would you like to browse research products and get statistics also for these sub-communities? For example, the European Grid Infrastructure (EGI) features “virtual organizations” that represent discipline-specific communities and/or specific research projects. The research infrastructure DARIAH, on the other hand, is organised in national nodes (e.g. DARIAH-IT, DARIAH-DE).
  • How can the OpenAIRE team identify the research products of your community, among all those available in the OpenAIRE Graph? Through a series of steps: set of keywords, acknowledgment statements, set of projects, set of repositories, etc. This can be partial and provisional information that will serve as a starting point to the OpenAIRE team. You will be able to refine and update this information, in the second phase “Develop a pilot”.
2. Develop a pilot
"We translate your needs into rules and processes and we configure operational OpenAIRE services."
Based on the information gathered in phase 1 “Analyse your needs”, the OpenAIRE team will set up a pilot Gateway. We will configure the OpenAIRE mining algorithms to identify research products of the OpenAIRE Graph that are relevant to your community. Those, together with some basic statistics, will be available in the pilot version of the Community Gateway that will be deployed on the OpenAIRE BETA infrastructure.
The OpenAIRE team will give you a demo of the Community Gateway, with details on how to refine and update the configuration of the Community Gateway, both in terms of criteria for including research products and in terms of logo and visible portal pages.
3. Test and Validate
"You validate and test your new Community Gateway (portal). If needed, we further refine and adapt to your needs."
Upon the completion of phase 2, take the time you need to test all its features, from search and browse for research products, to addition/removal of statistics from the portal. You can report any issue you might find and ask questions directly to the dedicated OpenAIRE team, via a specially designed collaboration tool.
Typically, this phase takes some months, as you will have to go through certain procedures. Change the configuration of the criteria to include research products, wait for the new configuration to be applied on the OpenAIRE graph and validate the results, before you actually decide that the coverage of research products for your community is adequate.
For some communities, the OpenAIRE team may also be able to implement dedicated mining algorithms (e.g. to find acknowledgement statements to your community/infrastructure in the full-texts of research articles) that may require several rounds of application, validation, and fine-tuning, before it reaches a high precision and recall. Your feedback is very important to minimize the effort and time needed for this process to complete.
4. Roll out the service
"We jointly roll out your new portal. You take over the business operations and start engaging your researchers."
Here we are: the coverage of research products is good, interesting statistics and charts have been selected, and the portal pages available for end-users are ready. We can roll out the Community Gateway and make it available to all the researchers of the community!
You, as a Community manager, become the main “promoter” of the Community Gateway. Engage the researchers of your community and, when applicable, inform the managers of the research infrastructure about the availability of tools for impact monitoring.
Remember that you will still be able to change the configuration of the Community Gateway in order to address any issue that may arise and to follow the evolution of the community (e.g. a new project or a new content provider that was not previously available in OpenAIRE).
Remember that you don’t have to go alone: the dedicated issue tracker you used in the “Test and Validate” phase is always available for you to contact the OpenAIRE team and ask for support.

Find the best for your community.

Profile
Edit community information, change logo url, add community managers or organizations related to community.
Content
Manage projects, content providers, subjects and zenodo communities that are related to the research community.
ipad
Links
Manage user claims related to the research community.
Help texts
Add or edit help text in research community pages.
Users
Invite more users to subscribe, manage community subscribers, your personal info and notification settings.

We look forward to working together and helping you unlock the full potential of your research community through open science.

Contact us
`, styleUrls: ['learn-how.component.less'] }) export class LearnHowComponent implements OnInit { public pageContents = null; public divContents = null; public activeStep = 0; steps: any[] = [ {name: 'All 4 Steps', icon: ''}, {name: '1st Step', icon: ''}, {name: '2nd Step', icon: ''}, {name: '3rd Step', icon: ''}, {name: '4th Step', icon: ''}, ]; public url: string = null; public pageTitle: string = "OpenAIRE - Connect | Learn How"; public pageDescription: string = "Learn the process: Build a Gateway to your community's open and linked research outcomes. Customized to your needs."; public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'About'}]; properties: EnvProperties = properties; public showQuickContact: boolean; @ViewChild('contact') contact: ElementRef; subscriptions = []; constructor( private route: ActivatedRoute, private _router: Router, private _meta: Meta, private _title: Title, private seoService: SEOService, private _piwikService: PiwikService, private helper: HelperService, private quickContactService: QuickContactService) { } public ngOnInit() { this.subscriptions.push(this._piwikService.trackView(this.properties, this.pageTitle).subscribe()); this.url = this.properties.baseLink + this._router.url; this.seoService.createLinkForCanonicalURL(this.url); this.updateUrl(this.url); this.updateTitle(this.pageTitle); this.updateDescription(this.pageDescription); //this.getDivContents(); this.getPageContents(); } private getPageContents() { this.subscriptions.push(this.helper.getPageHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.pageContents = contents; })); } private getDivContents() { this.subscriptions.push(this.helper.getDivHelpContents(this.properties, 'connect', this._router.url).subscribe(contents => { this.divContents = contents; })); } ngOnDestroy() { this.subscriptions.forEach(subscription => { if (subscription instanceof Subscriber) { subscription.unsubscribe(); } else if(typeof IntersectionObserver !== 'undefined' && subscription instanceof IntersectionObserver) { subscription.disconnect(); } }); } ngAfterViewInit() { if (typeof IntersectionObserver !== "undefined") { this.createObservers(); } } createObservers() { let options = { root: null, rootMargin: '200px', threshold: 1.0 }; let intersectionObserver = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting && this.showQuickContact) { this.showQuickContact = false; this.quickContactService.setDisplay(this.showQuickContact); } else if (!entry.isIntersecting && !this.showQuickContact) { this.showQuickContact = true; this.quickContactService.setDisplay(this.showQuickContact); } }); }, options); intersectionObserver.observe(this.contact.nativeElement); this.subscriptions.push(intersectionObserver); } private updateDescription(description: string) { this._meta.updateTag({content: description}, "name='description'"); this._meta.updateTag({content: description}, "property='og:description'"); } private updateTitle(title: string) { var _title = ((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'"); } }