diff --git a/monitor-admin/manageStakeholders/manageStakeholders-routing.module.ts b/monitor-admin/manageStakeholders/manageStakeholders-routing.module.ts
new file mode 100644
index 00000000..03c01a41
--- /dev/null
+++ b/monitor-admin/manageStakeholders/manageStakeholders-routing.module.ts
@@ -0,0 +1,18 @@
+import {NgModule} from '@angular/core';
+import {RouterModule} from '@angular/router';
+import {PreviousRouteRecorder} from '../../utils/piwik/previousRouteRecorder.guard';
+import {ManageStakeholdersComponent} from "./manageStakeholders.component";
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ {
+ path: '',
+ component: ManageStakeholdersComponent,
+ canDeactivate: [PreviousRouteRecorder]
+ }
+ ])
+ ]
+})
+export class ManageStakeholdersRoutingModule {
+}
diff --git a/monitor-admin/manageStakeholders/manageStakeholders.component.html b/monitor-admin/manageStakeholders/manageStakeholders.component.html
new file mode 100644
index 00000000..5b981cde
--- /dev/null
+++ b/monitor-admin/manageStakeholders/manageStakeholders.component.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ No profiles to manage yet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{text}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This stakeholder will permanently be deleted. Are you sure you want to proceed?
+
+
diff --git a/monitor-admin/manageStakeholders/manageStakeholders.component.less b/monitor-admin/manageStakeholders/manageStakeholders.component.less
new file mode 100644
index 00000000..ee701579
--- /dev/null
+++ b/monitor-admin/manageStakeholders/manageStakeholders.component.less
@@ -0,0 +1,23 @@
+@import (reference) "~src/assets/openaire-theme/less/color.less";
+
+.setType(@color) {
+ border-bottom: 4px solid fade(@color, 30%);
+
+ & .type {
+ color: @color;
+ }
+}
+
+.uk-card {
+ &.funder {
+ .setType(@funder-color);
+ }
+
+ &.ri {
+ .setType(@ri-color);
+ }
+
+ &.organization {
+ .setType(@organization-color);
+ }
+}
diff --git a/monitor-admin/manageStakeholders/manageStakeholders.component.ts b/monitor-admin/manageStakeholders/manageStakeholders.component.ts
new file mode 100644
index 00000000..5e637b3e
--- /dev/null
+++ b/monitor-admin/manageStakeholders/manageStakeholders.component.ts
@@ -0,0 +1,311 @@
+import {Component, OnDestroy, OnInit, ViewChild} from "@angular/core";
+import {StakeholderService} from "../../monitor/services/stakeholder.service";
+import {EnvProperties} from "../../utils/properties/env-properties";
+import {Stakeholder, StakeholderEntities, Visibility} from "../../monitor/entities/stakeholder";
+import {Subscriber, zip} from "rxjs";
+import {StakeholderUtils} from "../utils/indicator-utils";
+import {UntypedFormBuilder, UntypedFormGroup} from "@angular/forms";
+import {AlertModal} from "../../utils/modal/alert";
+import {Option} from "../../sharedComponents/input/input.component";
+import {Title} from "@angular/platform-browser";
+import {UserManagementService} from "../../services/user-management.service";
+import {Session} from "../../login/utils/helper.class";
+import {EditStakeholderComponent} from "../general/edit-stakeholder/edit-stakeholder.component";
+import {properties} from "src/environments/environment";
+import {ActivatedRoute} from "@angular/router";
+import {CacheIndicatorsService} from "../utils/cache-indicators/cache-indicators.service";
+import {NotificationHandler} from "../../utils/notification-handler";
+
+type Tab = 'all' | 'templates'| 'profiles';
+
+declare var UIkit;
+
+@Component({
+ selector: 'home',
+ templateUrl: "./manageStakeholders.component.html",
+ styleUrls: ["./manageStakeholders.component.less"]
+})
+export class ManageStakeholdersComponent implements OnInit, OnDestroy {
+
+ public properties: EnvProperties;
+ public loading: boolean = true;
+ public deleteLoading: boolean = false;
+ public stakeholderUtils: StakeholderUtils = new StakeholderUtils();
+ public defaultStakeholders: Stakeholder[];
+ public stakeholders: Stakeholder[];
+ public alias: string[];
+ public stakeholder: Stakeholder;
+ public index: number;
+ public user = null;
+ public tab: Tab = 'all';
+ /**
+ * Filtered Stakeholders
+ */
+ public displayDefaultStakeholders: Stakeholder[];
+ public displayStakeholders: Stakeholder[];
+ /**
+ * Top filters
+ */
+ public filters: UntypedFormGroup;
+ public all: Option = {
+ value: 'all',
+ label: 'All'
+ };
+
+ public callback: Function;
+
+ /**
+ * Grid or List View
+ */
+ private subscriptions: any[] = [];
+ @ViewChild('editStakeholderModal', { static: true }) editStakeholderModal: AlertModal;
+ @ViewChild('deleteStakeholderModal', { static: true }) deleteStakeholderModal: AlertModal;
+ @ViewChild('editStakeholderComponent', { static: true }) editStakeholderComponent: EditStakeholderComponent;
+
+ constructor(private stakeholderService: StakeholderService,
+ private cacheIndicatorsService: CacheIndicatorsService,
+ private userManagementService: UserManagementService,
+ private route: ActivatedRoute,
+ private title: Title,
+ private fb: UntypedFormBuilder) {
+ }
+
+ ngOnInit(): void {
+ this.buildFilters();
+ this.properties = properties;
+ this.title.setTitle('Manage profiles');
+ this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
+ this.user = user;
+ }));
+ let data = zip(
+ this.stakeholderService.getDefaultStakeholders(this.properties.monitorServiceAPIURL),
+ this.stakeholderService.getMyStakeholders(this.properties.monitorServiceAPIURL),
+ this.stakeholderService.getAlias(this.properties.monitorServiceAPIURL)
+ );
+ this.subscriptions.push(data.subscribe(res => {
+ this.defaultStakeholders = res[0];
+ this.stakeholders = res[1];
+ this.displayDefaultStakeholders = res[0];
+ this.displayStakeholders = res[1];
+ this.alias = res[2];
+ this.loading = false;
+ }, error => {
+ this.loading = false;
+ }));
+ }
+
+ ngOnDestroy(): void {
+ this.subscriptions.forEach(value => {
+ if (value instanceof Subscriber) {
+ value.unsubscribe();
+ } else if (value instanceof Function) {
+ value();
+ }
+ });
+ }
+
+ hide(element: any) {
+ UIkit.dropdown(element).hide();
+ }
+
+
+ private buildFilters() {
+ this.filters = this.fb.group({
+ status: this.fb.control('all'),
+ keyword: this.fb.control('')
+ });
+ this.subscriptions.push(this.filters.get('status').valueChanges.subscribe(value => {
+ this.onStatusChange(value);
+ }));
+ this.subscriptions.push(this.filters.get('keyword').valueChanges.subscribe(value => {
+ this.onKeywordChange(value);
+ }));
+ }
+
+ onStatusChange(value) {
+ this.displayDefaultStakeholders = this.filterStatus(this.defaultStakeholders, value);
+ this.displayStakeholders = this.filterStatus(this.stakeholders, value);
+ }
+
+ onKeywordChange(value) {
+ this.displayDefaultStakeholders = this.filterByKeyword(this.defaultStakeholders, value);
+ this.displayStakeholders = this.filterByKeyword(this.stakeholders, value);
+ }
+
+ private filterStatus(stakeholders: Stakeholder[], value): Stakeholder[] {
+ if (value === 'all') {
+ return stakeholders;
+ } else {
+ return stakeholders.filter(stakeholder => stakeholder.visibility == value);
+ }
+ }
+
+ private filterByKeyword(stakeholders: Stakeholder[], value): Stakeholder[] {
+ if (!value) {
+ return stakeholders;
+ } else {
+ return stakeholders.filter(stakeholder =>
+ stakeholder.name && stakeholder.name.toLowerCase().includes(value.toLowerCase()) ||
+ stakeholder.type && stakeholder.type.toLowerCase().includes(value.toLowerCase()) ||
+ stakeholder.index_id && stakeholder.index_id.toLowerCase().includes(value.toLowerCase()) ||
+ stakeholder.index_shortName && stakeholder.index_shortName.toLowerCase().includes(value.toLowerCase()) ||
+ stakeholder.index_name && stakeholder.index_name.toLowerCase().includes(value.toLowerCase())
+ );
+ }
+ }
+
+ public editStakeholder(stakeholder: Stakeholder = null, isDefault: boolean = false) {
+ if (isDefault) {
+ this.index = (stakeholder) ? this.defaultStakeholders.findIndex(value => value._id === stakeholder._id) : -1;
+ } else {
+ this.index = (stakeholder) ? this.stakeholders.findIndex(value => value._id === stakeholder._id) : -1;
+ }
+ if (!stakeholder) {
+ this.stakeholder = new Stakeholder(null, null, null,
+ null, null, null, null, null);
+ } else {
+ this.stakeholder = stakeholder;
+ }
+ this.editStakeholderComponent.init(this.stakeholder, this.alias, this.defaultStakeholders, isDefault, this.index === -1);
+ if (this.index !== -1) {
+ this.callback = (stakeholder: Stakeholder) => {
+ let index: number;
+ if (stakeholder.defaultId == null) {
+ index = this.alias.findIndex(value => value == this.defaultStakeholders[this.index].alias);
+ this.defaultStakeholders[this.index] = stakeholder;
+ } else {
+ index = this.alias.findIndex(value => value == this.stakeholders[this.index].alias);
+ this.stakeholders[this.index] = stakeholder;
+ }
+ if(index != -1) {
+ this.alias[index] = stakeholder.alias;
+ }
+ this.editStakeholderModal.cancel();
+ };
+ this.editStakeholderModal.alertTitle = 'Edit ' + this.stakeholder.name;
+ this.editStakeholderModal.okButtonText = 'Save Changes';
+ } else {
+ this.callback = (stakeholder: Stakeholder) => {
+ if (stakeholder.defaultId === null) {
+ this.defaultStakeholders.push(stakeholder);
+ } else {
+ this.stakeholders.push(stakeholder);
+ }
+ this.alias.push(stakeholder.alias);
+ this.editStakeholderModal.cancel();
+ };
+ this.editStakeholderModal.alertTitle = 'Create a new ' + (isDefault?'Default ':'') + 'Profile';
+ this.editStakeholderModal.okButtonText = 'Create';
+ }
+ this.editStakeholderModal.cancelButtonText = 'Cancel';
+ this.editStakeholderModal.okButtonLeft = false;
+ this.editStakeholderModal.alertMessage = false;
+ this.editStakeholderModal.stayOpen = true;
+ this.editStakeholderModal.open();
+ }
+
+ public createReport(stakeholder: Stakeholder) {
+ this.cacheIndicatorsService.createReport(stakeholder.alias).subscribe(report => {
+ NotificationHandler.rise('A caching process for ' + stakeholder.name + ' has been started.' )
+ }, error => {
+ console.log(error);
+ NotificationHandler.rise(error.message(), 'danger');
+ });
+ }
+
+ public deleteStakeholderOpen(stakeholder: Stakeholder) {
+ this.stakeholder = stakeholder;
+ this.deleteStakeholderModal.alertTitle = 'Delete ' + this.stakeholder.index_name;
+ this.deleteStakeholderModal.cancelButtonText = 'No';
+ this.deleteStakeholderModal.okButtonText = 'Yes';
+ this.deleteStakeholderModal.alertMessage = false;
+ this.deleteStakeholderModal.stayOpen = true;
+ this.deleteStakeholderModal.open();
+ }
+
+ public deleteStakeholder() {
+ this.deleteLoading = true;
+ if (!this.stakeholder.defaultId) {
+ this.index = (this.stakeholder) ? this.defaultStakeholders.findIndex(value => value._id === this.stakeholder._id) : -1;
+ } else {
+ this.index = (this.stakeholder) ? this.stakeholders.findIndex(value => value._id === this.stakeholder._id) : -1;
+ }
+ this.subscriptions.push(this.stakeholderService.deleteElement(this.properties.monitorServiceAPIURL, [this.stakeholder._id]).subscribe(() => {
+ UIkit.notification(this.stakeholder.name+ ' has been successfully deleted', {
+ status: 'success',
+ timeout: 6000,
+ pos: 'bottom-right'
+ });
+ if (!this.stakeholder.defaultId) {
+ this.defaultStakeholders.splice(this.index, 1);
+ } else {
+ this.stakeholders.splice(this.index, 1);
+ }
+ this.alias = this.alias.filter(item => item !== this.stakeholder.alias);
+ this.deleteLoading = false;
+ this.deleteStakeholderModal.cancel();
+ }, error => {
+ UIkit.notification('An error has occurred. Please try again later', {
+ status: 'danger',
+ timeout: 6000,
+ pos: 'bottom-right'
+ });
+ this.deleteLoading = false;
+ this.deleteStakeholderModal.cancel();
+ }));
+ }
+
+ changeStakeholderStatus(stakeholder: Stakeholder, visibility: Visibility) {
+ let path = [
+ stakeholder._id
+ ];
+ this.subscriptions.push(this.stakeholderService.changeVisibility(this.properties.monitorServiceAPIURL, path, visibility).subscribe(returnedElement => {
+ stakeholder.visibility = returnedElement.visibility;
+ UIkit.notification(stakeholder.name+ '\'s status has been successfully changed to ' + stakeholder.visibility.toLowerCase(), {
+ status: 'success',
+ timeout: 6000,
+ pos: 'bottom-right'
+ });
+ }, error => {
+ UIkit.notification('An error has occurred. Please try again later', {
+ status: 'danger',
+ timeout: 6000,
+ pos: 'bottom-right'
+ });
+ }));
+ }
+
+ public isManager(): boolean {
+ return this.isCurator() || (Session.isKindOfMonitorManager(this.user));
+ }
+
+ public isProfileManager(stakeholder: Stakeholder): boolean {
+ return this.isCurator() || (Session.isManager(stakeholder.type, stakeholder.alias, this.user));
+ }
+
+ public isCurator(): boolean {
+ return this.isAdmin() || Session.isMonitorCurator(this.user);
+ }
+
+ public isAdmin(): boolean {
+ return Session.isPortalAdministrator(this.user);
+ }
+
+ get typesAsString() {
+ return this.stakeholderUtils.types.slice(0, this.stakeholderUtils.types.length - 1).map(type => type.label).join(', ') +
+ ' or ' + this.stakeholderUtils.types[this.stakeholderUtils.types.length - 1].label
+ }
+
+ private isTab(tab: Tab): boolean {
+ switch (tab) {
+ case "all":
+ return true;
+ case "profiles":
+ return true;
+ case "templates":
+ return true;
+ default:
+ return false;
+ }
+ }
+}
diff --git a/monitor-admin/manageStakeholders/manageStakeholders.module.ts b/monitor-admin/manageStakeholders/manageStakeholders.module.ts
new file mode 100644
index 00000000..41847068
--- /dev/null
+++ b/monitor-admin/manageStakeholders/manageStakeholders.module.ts
@@ -0,0 +1,50 @@
+import {NgModule} from "@angular/core";
+import {ManageStakeholdersComponent} from "./manageStakeholders.component";
+import {ManageStakeholdersRoutingModule} from "./manageStakeholders-routing.module";
+import {PreviousRouteRecorder} from "../../utils/piwik/previousRouteRecorder.guard";
+import {CommonModule} from "@angular/common";
+import {RouterModule} from "@angular/router";
+import {InputModule} from "../../sharedComponents/input/input.module";
+import {LoadingModule} from "../../utils/loading/loading.module";
+import {AlertModalModule} from "../../utils/modal/alertModal.module";
+import {ReactiveFormsModule} from "@angular/forms";
+import {IconsModule} from "../../utils/icons/icons.module";
+import {IconsService} from "../../utils/icons/icons.service";
+import {earth, incognito, restricted} from "../../utils/icons/icons";
+import {PageContentModule} from "../../dashboard/sharedComponents/page-content/page-content.module";
+import {LogoUrlPipeModule} from "../../utils/pipes/logoUrlPipe.module";
+import {SearchInputModule} from "../../sharedComponents/search-input/search-input.module";
+import {
+ SidebarMobileToggleModule
+} from "../../dashboard/sharedComponents/sidebar/sidebar-mobile-toggle/sidebar-mobile-toggle.module";
+import {SliderTabsModule} from "../../sharedComponents/tabs/slider-tabs.module";
+import {EditStakeholderModule} from "../general/edit-stakeholder/edit-stakeholder.module";
+
+@NgModule({
+ declarations: [ManageStakeholdersComponent],
+ imports: [
+ ManageStakeholdersRoutingModule,
+ CommonModule,
+ RouterModule,
+ InputModule,
+ LoadingModule,
+ AlertModalModule,
+ ReactiveFormsModule,
+ EditStakeholderModule,
+ IconsModule,
+ PageContentModule,
+ LogoUrlPipeModule,
+ SearchInputModule,
+ SidebarMobileToggleModule,
+ SliderTabsModule
+ ],
+ providers: [
+ PreviousRouteRecorder,
+ ],
+ exports: [ManageStakeholdersComponent]
+})
+export class ManageStakeholdersModule {
+ constructor(private iconsService: IconsService) {
+ this.iconsService.registerIcons([earth, incognito, restricted]);
+ }
+}
diff --git a/monitor/entities/stakeholder.ts b/monitor/entities/stakeholder.ts
index d4e36d76..460144d4 100644
--- a/monitor/entities/stakeholder.ts
+++ b/monitor/entities/stakeholder.ts
@@ -315,6 +315,6 @@ export enum StakeholderEntities {
export let stakeholderTypes: Option[] = [
{value: 'funder', label: StakeholderEntities.FUNDER},
{value: 'ri', label: StakeholderEntities.RI},
- {value: 'project', label: StakeholderEntities.PROJECT},
- {value: 'organization', label: StakeholderEntities.ORGANIZATION}
+ {value: 'organization', label: StakeholderEntities.ORGANIZATION},
+ {value: 'project', label: StakeholderEntities.PROJECT}
];
diff --git a/utils/properties/env-properties.ts b/utils/properties/env-properties.ts
index 65931eaa..9f6b6db8 100644
--- a/utils/properties/env-properties.ts
+++ b/utils/properties/env-properties.ts
@@ -1,3 +1,4 @@
+
export type Environment = "development" | "test" | "beta" | "production";
export type Dashboard = "explore" | "connect" | "monitor" | "aggregator" | "eosc" | "developers" | "faircore4eosc";
export type PortalType = "explore" | "connect" | "community" | "monitor" | "funder" | "ri" | "project" | "organization" | "aggregator" | "eosc" | "faircore4eosc";
@@ -14,16 +15,15 @@ export interface EnvProperties {
showAddThis?: boolean;
showContent?: boolean;
enableEoscDataTransfer?:boolean;
- framesAPIURL?: string;
- statisticsFrameAPIURL?: string;
+ statisticsFrameAPIURL?: string; //delete?
statisticsFrameNewAPIURL?: string;
bipFrameAPIURL?: string;
- useNewStatistisTool?: boolean;
+ useNewStatistisTool?: boolean; //delete?
useOldStatisticsSchema?: boolean;
monitorStatsFrameUrl?:string;
disableFrameLoad?:boolean
statisticsAPIURL?: string;
- impactFactorsAPIURL?: string;
+ impactFactorsAPIURL?: string; //???
enermapsURL?: string;
claimsAPIURL?: string;
searchAPIURLLAst?: string;
@@ -51,11 +51,6 @@ export interface EnvProperties {
sherpaURLSuffix?: string;
zenodo?: string;
zenodoCommunities?: string;
- openAccess?: string;
- openAccessRepo?: string;
- fp7Guidlines?: string;
- h2020Guidlines?: string;
- ercGuidlines?: string;
helpdesk?: string;
helpdeskEmail?: string;
utilsService?: string;
@@ -66,6 +61,7 @@ export interface EnvProperties {
registryUrl?: string;
logoutUrl?: string;
userInfoUrl?: string;
+ clientManagementUrl?: string,
developersApiUrl?: string,
cookieDomain?: string;
feedbackmail?: string;
@@ -135,10 +131,10 @@ export interface EnvProperties {
reCaptchaSiteKey?: string;
// contact us recipients
admins?: string[];
- lastIndexUpdate?: string;
+ lastIndexUpdate?: string; //delete?
indexInfoAPI?: string;
altMetricsAPIURL?: string;
- b2noteAPIURL?: string;
+ b2noteAPIURL?: string; //delete?
adminPortalURL?: string;
sushiliteURL?: string;
notificationsAPIURL?: string;
@@ -151,3 +147,29 @@ export interface EnvProperties {
eoscDataTransferDestinations?;
hasMachineCache?: boolean;
}
+
+export function checkPropertyValues(properties:EnvProperties){
+ let keys = Object.keys(properties);
+ let Warn = 0;
+ // console.debug( "Environment: " +properties.environment )
+ for(let attribute of keys){
+
+ // console.debug(attribute + ": " +properties[attribute] + " " )
+ if (properties.environment == "production" && typeof properties[attribute] == 'string' && (properties[attribute].indexOf("beta.") != -1 || properties[attribute].indexOf("uoa.di.gr") != -1)) {
+ console.warn("shouldn't be prod? " + attribute + ": " + properties[attribute]);
+ Warn++;
+ }
+ if (properties.environment != "production" && typeof properties[attribute] == 'string' && properties[attribute].indexOf("https://services.") != -1) {
+ console.warn("should be prod? " + attribute + ": " + properties[attribute]);
+ Warn++;
+ }
+ if (properties.environment != "development" && typeof properties[attribute] == 'string' && properties[attribute].indexOf("uoa.di.gr") != -1) {
+ console.warn("should be in dev? " + attribute + ": " + properties[attribute]);
+ Warn++;
+ }
+
+ }
+ /*if(Warn > 0){
+ alert("check properties: " + Warn)
+ }*/
+}
diff --git a/utils/properties/environments/environment.ts b/utils/properties/environments/environment.ts
index 6faf2d7f..07f2264a 100644
--- a/utils/properties/environments/environment.ts
+++ b/utils/properties/environments/environment.ts
@@ -1,45 +1,274 @@
import {EnvProperties} from "../env-properties";
export let common: EnvProperties = {
+
+ bipFrameAPIURL: "https://bip.imsi.athenarc.gr/api/impact-chart?id=",
+ useNewStatistisTool: true,
+ openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
+ searchCrossrefAPIURL: "https://api.crossref.org/works",
+ searchDataciteAPIURL: "https://api.datacite.org/works",
+ searchOrcidURL: "https://pub.orcid.org/v2.1/",
+ orcidURL: "https://orcid.org/",
+ orcidAPIURL: "https://services.openaire.eu/uoa-orcid-service/",
+ orcidTokenURL : "https://orcid.org/oauth/authorize?",
+ orcidClientId: "APP-IN0O56SBVVTB7NN4",
+ doiURL: "https://doi.org/",
+ pmcURL: "http://europepmc.org/articles/",
+ pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
+ handleURL: "http://hdl.handle.net/",
+ cordisURL: "http://cordis.europa.eu/projects/",
+ openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
+ r3DataURL: "http://service.re3data.org/repository/",
swhURL: "https://archive.softwareheritage.org/",
- // searchCrossrefAPIURL: "https://api.crossref.org/works",
- // searchDataciteAPIURL: "https://api.datacite.org/works",
- // searchOrcidURL: "https://pub.orcid.org/v2.1/",
- // orcidURL: "https://orcid.org/",
- // doiURL: "https://doi.org/",
- // pmcURL: "http://europepmc.org/articles/",
- // pmidURL: "https://www.ncbi.nlm.nih.gov/pubmed/",
- // handleURL: "http://hdl.handle.net/",
- // cordisURL: "http://cordis.europa.eu/projects/",
- // openDoarURL: "http://v2.sherpa.ac.uk/id/repository/",
- // r3DataURL: "http://service.re3data.org/repository/",
- // fairSharingURL: "https://fairsharing.org/",
- // sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
- // sherpaURLSuffix: "/",
- // zenodo: "https://zenodo.org/",
- // openAccess: "https://www.openaire.eu/support/faq#article-id-234",
- // openAccessRepo: "https://www.openaire.eu/support/faq#article-id-310",
- // fp7Guidlines: "https://www.openaire.eu/open-access-in-fp7-seventh-research-framework-programme",
- // h2020Guidlines: "https://www.openaire.eu/oa-publications/h2020/open-access-in-horizon-2020",
- // ercGuidlines: "http://erc.europa.eu/sites/default/files/document/file/ERC_Open_Access_Guidelines-revised_2014.pdf",
+ fairSharingURL: "https://fairsharing.org/",
+ eoscMarketplaceURL: "https://marketplace.eosc-portal.eu/services/",
+ sherpaURL: "http://sherpa.ac.uk/romeo/issn/",
+ sherpaURLSuffix: "/",
+ zenodo: "https://zenodo.org/",
+ helpdesk: "https://www.openaire.eu/support/helpdesk",
+ helpdeskEmail: "helpdesk@openaire.eu",
+ piwikBaseUrl: "https://analytics.openaire.eu/piwik.php?idsite=",
+ cookieDomain: ".openaire.eu",
+ feedbackmail: "feedback@openaire.eu",
+ csvLimit: 2000,
+ pagingLimit: 20,
+ resultsPerPage: 10,
+ baseLink : "",
+ searchLinkToResult: "/search/result?id=",
+ searchLinkToPublication: "/search/publication?articleId=",
+ searchLinkToProject: "/search/project?projectId=",
+ searchLinkToDataProvider: "/search/dataprovider?datasourceId=",
+ searchLinkToDataset: "/search/dataset?datasetId=",
+ searchLinkToSoftwareLanding: "/search/software?softwareId=",
+ searchLinkToOrp: "/search/other?orpId=",
+ searchLinkToOrganization: "/search/organization?organizationId=",
+ searchLinkToAll: "/search/find/",
+ searchLinkToPublications: "/search/find/publications",
+ searchLinkToDataProviders: "/search/find/dataproviders",
+ searchLinkToProjects: "/search/find/projects",
+ searchLinkToDatasets: "/search/find/datasets",
+ searchLinkToSoftware: "/search/find/software",
+ searchLinkToOrps: "/search/find/other",
+ searchLinkToOrganizations: "/search/find/organizations",
+ searchLinkToCompatibleDataProviders: "/search/content-providers",
+ searchLinkToEntityRegistriesDataProviders: "/search/entity-registries",
+ searchLinkToJournals: "/search/journals",
+ searchLinkToResults: "/search/find/research-outcomes",
+ searchLinkToAdvancedPublications: "/search/advanced/publications",
+ searchLinkToAdvancedProjects: "/search/advanced/projects",
+ searchLinkToAdvancedDatasets: "/search/advanced/datasets",
+ searchLinkToAdvancedSoftware: "/search/advanced/software",
+ searchLinkToAdvancedOrps: "/search/advanced/other",
+ searchLinkToAdvancedDataProviders: "/search/advanced/dataproviders",
+ searchLinkToAdvancedOrganizations: "/search/advanced/organizations",
+ searchLinkToAdvancedResults: "/search/advanced/research-outcomes",
+ errorLink: '/error',
+ showLastIndexInformationLink: true,
+ lastIndexUpdate: "2020-06-15",
+ depositLearnHowPage: "/participate/deposit/learn-how",
+ depositSearchPage: "/participate/deposit/search",
+ altMetricsAPIURL: "https://api.altmetric.com/v1/doi/",
+ reCaptchaSiteKey: "6LezhVIUAAAAAOb4nHDd87sckLhMXFDcHuKyS76P",
+ admins: ['feedback@openaire.eu'],
+ b2noteAPIURL: 'https://b2note.eudat.eu/',
+ myOrcidLinksPage: "/my-orcid-links",
+ footerGrantText: "OpenAIRE has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No. 777541 and 101017452",
+
+ //connect
+ enermapsURL:"https://lab.idiap.ch/enermaps",
+ zenodoCommunities: 'https://zenodo.org/api/communities/',
+ shareInZenodoPage: '/participate/deposit/zenodo',
+ afterLoginRedirectLink: '/myCommunities',
+ searchLinkToCommunities: '/search/find/communities',
+
+
+
}
export let commonDev: EnvProperties = {
- // searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
- // searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
+ environment: "development",
+ statisticsAPIURL: "http://vatopedi.di.uoa.gr:8080/stats/",
+ statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
+ statisticsFrameNewAPIURL: "https://stats.madgik.di.uoa.gr/stats-api/",
+ claimsAPIURL: "http://scoobydoo.di.uoa.gr:8880/dnet-claims-service-2.0.0-SNAPSHOT/rest/claimsService/",
+ searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
+ searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
+
+ openCitationsAPIURL: "https://services.openaire.eu/opencitations/getCitations?id=",
+ csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
+ orcidAPIURL: "http://duffy.di.uoa.gr:19480/uoa-orcid-service/",
+ orcidTokenURL : "https://sandbox.orcid.org/oauth/authorize?",
+ orcidClientId: "APP-A5M3KTX6NCN67L91",
+ utilsService: "http://dl170.madgik.di.uoa.gr:8000",
+ vocabulariesAPI: "https://dev-openaire.d4science.org/provision/mvc/vocabularies/",
+ loginUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_connect_login",
+ userInfoUrl: "http://mpagasas.di.uoa.gr:19080/login-service/userInfo",
+ logoutUrl: "http://mpagasas.di.uoa.gr:19080/login-service/openid_logout",
+ cookieDomain: ".di.uoa.gr",
+ feedbackmail: "kostis30fylloy@gmail.com",
+ cacheUrl: "http://dl170.madgik.di.uoa.gr:3000/get?url=",
+ monitorServiceAPIURL: "http://duffy.di.uoa.gr:19380/uoa-monitor-service",
+ adminToolsAPIURL: "http://duffy.di.uoa.gr:19280/uoa-admin-tools/",
+ datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/api/",
+ contextsAPI: "https://dev-openaire.d4science.org/openaire/context",
+ communityAPI: "https://dev-openaire.d4science.org/openaire/community/",
+ lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
+ widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
+ claimsInformationLink: "https://www.openaire.eu/linking-beta",
+ indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
+ admins: ['kostis30fylloy@gmail.com', 'alexandros.martzios@athenarc.gr', 'kgalouni@di.uoa.gr'],
+ adminPortalURL: "https://beta.admin.connect.openaire.eu",
+ //connect
+ communitiesAPI: 'https://dev-openaire.d4science.org/openaire/community/communities',
+ registryUrl: 'http://mpagasas.di.uoa.gr:8080/dnet-openaire-users-1.0.0-SNAPSHOT/api/registry/',
+
+ //admin
+ miningBackendURL: 'https://beta.services.openaire.eu/interactive-mining',
+ feedbackmailForMissingEntities: 'feedback@openaire.eu',
+ connectPortalUrl: 'http://scoobydoo.di.uoa.gr:4200',
}
export let commonTest: EnvProperties = {
- // searchAPIURLLAst: "https://services.openaire.eu/shadowSearch/v2/api/",
- // searchResourcesAPIURL: "https://services.openaire.eu/shadowSearch/v2/api/resources",
+ environment: "test",
+ statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
+ statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
+ statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/",
+ claimsAPIURL: "https://services.openaire.eu/claims-new/rest/claimsService/",
+ searchAPIURLLAst: "https://services.openaire.eu/shadowSearch/v2/api/",
+ searchResourcesAPIURL: "https://services.openaire.eu/shadowSearch/v2/api/resources",
+ csvAPIURL: "https://services.openaire.eu/search/v2/api/reports",
+ utilsService: "https://explore.openaire.eu/utils-service",
+ vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
+ loginUrl: " https://services.openaire.eu/login-service/openid_connect_login",
+ userInfoUrl: " https://services.openaire.eu/login-service/userInfo",
+ logoutUrl: "https://services.openaire.eu/login-service/openid_logout",
+ cacheUrl: "https://explore.openaire.eu/cache/get?url=",
+ datasourcesAPI: "https://services.openaire.eu/openaire/ds/api/",
+ monitorServiceAPIURL: "https://services.openaire.eu/uoa-monitor-service",
+ adminToolsAPIURL: "https://services.openaire.eu/uoa-admin-tools/",
+ contextsAPI: "https://services.openaire.eu/openaire/context",
+ communityAPI: "https://services.openaire.eu/openaire/community/",
+ lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
+ widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
+ claimsInformationLink: "https://www.openaire.eu/linking",
+ indexInfoAPI: "https://services.openaire.eu/openaire/info/",
+ adminPortalURL: "https://admin.connect.openaire.eu",
+ baseOpenaireLink: 'https://explore.openaire.eu',
+
+
+
}
export let commonBeta: EnvProperties = {
- // searchAPIURLLAst: "http://beta.services.openaire.eu/search/v2/api/",
- // searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
+ environment: "beta",
+ statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
+ statisticsFrameAPIURL: "https://beta.openaire.eu/stats/",
+ statisticsFrameNewAPIURL: "https://beta.services.openaire.eu/stats-tool/",
+ claimsAPIURL: "https://beta.services.openaire.eu/claims-new/rest/claimsService/",
+ searchAPIURLLAst: "https://beta.services.openaire.eu/search/v2/api/",
+ searchResourcesAPIURL: "https://beta.services.openaire.eu/search/v2/api/resources",
+ csvAPIURL: "https://beta.services.openaire.eu/search/v2/api/reports",
+ utilsService: "https://demo.openaire.eu/utils-service",
+ vocabulariesAPI: "https://beta.services.openaire.eu/provision/mvc/vocabularies/",
+ loginUrl: "https://beta.services.openaire.eu/login-service/openid_connect_login",
+ userInfoUrl: "https://beta.services.openaire.eu/login-service/userInfo",
+ logoutUrl: "https://beta.services.openaire.eu/login-service/openid_logout",
+ cacheUrl: "https://demo.openaire.eu/cache/get?url=",
+ datasourcesAPI: "https://beta.services.openaire.eu/openaire/ds/api/",
+ monitorServiceAPIURL: "https://beta.services.openaire.eu/uoa-monitor-service",
+ adminToolsAPIURL: "https://beta.services.openaire.eu/uoa-admin-tools/",
+ contextsAPI: "https://beta.services.openaire.eu/openaire/context",
+ communityAPI: "https://beta.services.openaire.eu/openaire/community/",
+ lastIndexInformationLink: "https://beta.openaire.eu/aggregation-and-content-provision-workflows",
+ widgetLink: "https://beta.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
+ claimsInformationLink: "https://beta.openaire.eu/linking",
+ indexInfoAPI: "https://beta.services.openaire.eu/openaire/info/",
+ adminPortalURL: "https://beta.admin.connect.openaire.eu",
+ baseOpenaireLink: 'https://beta.explore.openaire.eu',
+
+ //connect
+ communitiesAPI: "https://beta.services.openaire.eu/openaire/community/communities",
+ registryUrl: 'https://beta.services.openaire.eu/uoa-user-management/api/registry/',
+ //admin
+ miningBackendURL: 'https://beta.services.openaire.eu/interactive-mining',
+ feedbackmailForMissingEntities: 'feedback@openaire.eu',
+ deleteCacheUrl: 'https://demo.openaire.eu/cache/clear',
+ deleteBrowserCacheUrl: 'https://beta.services.openaire.eu/uoa-admin-tools/cache',
+ connectPortalUrl: 'https://beta.connect.openaire.eu',
+
}
export let commonProd: EnvProperties = {
- // searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
- // searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
-}
\ No newline at end of file
+ environment: "production",
+ statisticsAPIURL: "https://beta.services.openaire.eu/stats-api/",
+ statisticsFrameAPIURL: "https://www.openaire.eu/stats/",
+ statisticsFrameNewAPIURL: "https://services.openaire.eu/stats-tool/",
+ claimsAPIURL: "https://services.openaire.eu/claims-new/rest/claimsService/",
+ searchAPIURLLAst: "https://services.openaire.eu/search/v2/api/",
+ searchResourcesAPIURL: "https://services.openaire.eu/search/v2/api/resources",
+ csvAPIURL: "https://services.openaire.eu/search/v2/api/reports",
+ utilsService: "https://explore.openaire.eu/utils-service",
+ vocabulariesAPI: "https://services.openaire.eu/provision/mvc/vocabularies/",
+ loginUrl: " https://services.openaire.eu/login-service/openid_connect_login",
+ userInfoUrl: " https://services.openaire.eu/login-service/userInfo",
+ logoutUrl: "https://services.openaire.eu/login-service/openid_logout",
+ cacheUrl: "https://explore.openaire.eu/cache/get?url=",
+ datasourcesAPI: "https://services.openaire.eu/openaire/ds/api/",
+ monitorServiceAPIURL: "https://services.openaire.eu/uoa-monitor-service",
+ adminToolsAPIURL: "https://services.openaire.eu/uoa-admin-tools/",
+ contextsAPI: "https://services.openaire.eu/openaire/context",
+ communityAPI: "https://services.openaire.eu/openaire/community/",
+ lastIndexInformationLink: "https://www.openaire.eu/aggregation-and-content-provision-workflows",
+ widgetLink: "https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=",
+ claimsInformationLink: "https://www.openaire.eu/linking",
+ indexInfoAPI: "https://services.openaire.eu/openaire/info/",
+ adminPortalURL: "https://admin.connect.openaire.eu",
+ baseOpenaireLink: 'https://explore.openaire.eu',
+
+ //connect
+ communitiesAPI: "https://services.openaire.eu/openaire/community/communities",
+
+ //admin
+ registryUrl: 'https://services.openaire.eu/uoa-user-management/api/registry/',
+ miningBackendURL: 'https://beta.services.openaire.eu/interactive-mining',
+ feedbackmailForMissingEntities: 'feedback@openaire.eu',
+ deleteCacheUrl: 'https://explore.openaire.eu/cache/clear',
+ deleteBrowserCacheUrl: 'https://services.openaire.eu/uoa-admin-tools/cache',
+ connectPortalUrl: 'https://connect.openaire.eu',
+}
+
+
+/*
+*
+
+Properties to check
+
+* not in explore
+
+* isDashboard
+showContent
+
+enableEoscDataTransfer
+
+
+developersApiUrl?: string,
+
+useHelpTexts?:boolean;
+
+
+ searchLinkToStakeholders?: string;
+
+searchLinkToAdvancedServices?: string;
+
+
+sushiliteURL?: string;
+
+notificationsAPIURL?: string;
+
+
+egiNotebookLink?: string;
+
+eoscDataTransferAPI?;
+ eoscDataTransferLoginUrl?;
+ eoscDataTransferDestinations?;
+* */