Compare commits
63 Commits
Author | SHA1 | Date |
---|---|---|
Diamantis Tziotzios | e8aef281d4 | |
Diamantis Tziotzios | 00c6978594 | |
Diamantis Tziotzios | 3adb518e61 | |
Konstantina Galouni | eb74ef86b9 | |
Diamantis Tziotzios | a1ee9c82bc | |
Diamantis Tziotzios | 5e5bd39313 | |
Georgios Kakaletris | 9c37e5a073 | |
Georgios Kakaletris | 444c1aacb1 | |
Diamantis Tziotzios | 50c96ef821 | |
Konstantina Galouni | 0adc7044ab | |
Konstantina Galouni | 13e62fd409 | |
Diamantis Tziotzios | 7185b5d117 | |
George Kalampokis | 5f131b9823 | |
Diamantis Tziotzios | 93320f7c94 | |
Diamantis Tziotzios | 876d99ce38 | |
George Kalampokis | 7a71110033 | |
Diamantis Tziotzios | 14c267c97e | |
Diamantis Tziotzios | b04b35d62b | |
Diamantis Tziotzios | 7a8375b988 | |
Diamantis Tziotzios | 895dbcf098 | |
Diamantis Tziotzios | bd15b1e2c7 | |
George Kalampokis | faabd343a9 | |
George Kalampokis | e5a929f259 | |
George Kalampokis | d1fc10854c | |
George Kalampokis | 2537923dc0 | |
George Kalampokis | c1adbe283a | |
George Kalampokis | 1c365a191e | |
Kristian Ntavidi | 82c5586067 | |
George Kalampokis | 04f230dff1 | |
George Kalampokis | 72d88d9db4 | |
George Kalampokis | 143a4c0214 | |
George Kalampokis | e7e5ed02b3 | |
George Kalampokis | b5fcc5971e | |
Diamantis Tziotzios | c16c35225f | |
Diamantis Tziotzios | f5d266554b | |
Diamantis Tziotzios | db31597fc0 | |
Diamantis Tziotzios | 9f5054668e | |
George Kalampokis | 38986ef67b | |
Diamantis Tziotzios | bff260b85b | |
George Kalampokis | 9519300dc4 | |
George Kalampokis | 9373d3e038 | |
dtziotzios | d971f02a94 | |
Georgios Kakaletris | d3915e26e7 | |
George Kalampokis | c028aad615 | |
Diamantis Tziotzios | 4ee39074a3 | |
Diamantis Tziotzios | 1b4952a909 | |
Diamantis Tziotzios | 3ada5a0d3d | |
Diamantis Tziotzios | 63ee865dd9 | |
Diamantis Tziotzios | 2a52138124 | |
Diamantis Tziotzios | 7cf64c18f2 | |
Diamantis Tziotzios | 71d317bab7 | |
Ioannis Kalyvas | cd8b3448f5 | |
Ioannis Kalyvas | c3d4cb6fdd | |
Ioannis Kalyvas | b0ccac191f | |
Ioannis Kalyvas | 3b1f37ef22 | |
Ioannis Kalyvas | b8e040ee94 | |
Ioannis Kalyvas | 50444a0b73 | |
Diamantis Tziotzios | 85bdb7fad1 | |
annabakouli | b2e49fbb8a | |
Diamantis Tziotzios | bfc6b63067 | |
Nikolaos Laskaris | 9941c96dc2 | |
Nikolaos Laskaris | 06272c79da | |
Nikolaos Laskaris | a00eec68d8 |
|
@ -1,3 +1,9 @@
|
||||||
|
|
||||||
|
**Important note: The deployment, troubleshooting, maintenance and operation of on-premises / self-served OpenDMP instances for development, testing or production use, shall be the sole responsibility of the adopter. No support is guaranteed by OpenDMP implentation team for issues that may be encountered during deployment, extension or operation of such installations.**
|
||||||
|
|
||||||
|
**Documentation is provided on a best-effort basis for the code and processes around the development, deployment and operation of OpenDMP. If you find any misalignment of the actual processes with the related documentation, please let us know so that the misalignment is addressed for the benefit of future adopters.**
|
||||||
|
|
||||||
|
|
||||||
# Using Docker Compose with Argos
|
# Using Docker Compose with Argos
|
||||||
|
|
||||||
ARGOS is an open extensible service that simplifies the management, validation, monitoring and maintenance and of Data Management Plans. It allows actors (researchers, managers, supervisors etc) to create actionable DMPs that may be freely exchanged among infrastructures for carrying out specific aspects of the Data management process in accordance with the intentions and commitment of Data owners.
|
ARGOS is an open extensible service that simplifies the management, validation, monitoring and maintenance and of Data Management Plans. It allows actors (researchers, managers, supervisors etc) to create actionable DMPs that may be freely exchanged among infrastructures for carrying out specific aspects of the Data management process in accordance with the intentions and commitment of Data owners.
|
||||||
|
|
|
@ -226,6 +226,7 @@
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
<version>1.5.9.RELEASE</version>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
|
|
@ -202,14 +202,14 @@ public class DashBoardManager {
|
||||||
.selectAsync(item -> recentActivityDataBuilder.label(item.getLabel()).timestamp(item.getModified()).id(item.getId().toString()).build())
|
.selectAsync(item -> recentActivityDataBuilder.label(item.getLabel()).timestamp(item.getModified()).id(item.getId().toString()).build())
|
||||||
.whenComplete((datasetActivities, throwable) -> activity.setRecentDatasetActivities(datasetActivities));
|
.whenComplete((datasetActivities, throwable) -> activity.setRecentDatasetActivities(datasetActivities));
|
||||||
|
|
||||||
CompletableFuture<List<RecentActivityData>> grants = grantRepository.getAuthenticated(grantRepository.getWithCriteria(grantCriteria), user)
|
/*CompletableFuture<List<RecentActivityData>> grants = grantRepository.getAuthenticated(grantRepository.getWithCriteria(grantCriteria), user)
|
||||||
.withHint("grantRecentActivity")
|
.withHint("grantRecentActivity")
|
||||||
.orderBy((builder, root) -> builder.desc(root.get("modified")))
|
.orderBy((builder, root) -> builder.desc(root.get("modified")))
|
||||||
.take(numberofactivities)
|
.take(numberofactivities)
|
||||||
.selectAsync(item -> recentActivityDataBuilder.label(item.getLabel()).timestamp(item.getModified()).id(item.getId().toString()).build())
|
.selectAsync(item -> recentActivityDataBuilder.label(item.getLabel()).timestamp(item.getModified()).id(item.getId().toString()).build())
|
||||||
.whenComplete((grantActivities, throwable) -> activity.setRecentGrantActivities(grantActivities));
|
.whenComplete((grantActivities, throwable) -> activity.setRecentGrantActivities(grantActivities));*/
|
||||||
|
|
||||||
CompletableFuture.allOf(grants, dmps, datasets).join();
|
CompletableFuture.allOf(/*grants, */dmps, datasets).join();
|
||||||
return activity;
|
return activity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1477,7 +1477,7 @@ public class DataManagementPlanManager {
|
||||||
Map extraProperties = objectMapper.readValue(dmpEntity.getExtraProperties(), HashMap.class);
|
Map extraProperties = objectMapper.readValue(dmpEntity.getExtraProperties(), HashMap.class);
|
||||||
if (extraProperties.containsKey("license")) {
|
if (extraProperties.containsKey("license")) {
|
||||||
Map<String, String> license = ((Map<String, String>) extraProperties.get("license"));
|
Map<String, String> license = ((Map<String, String>) extraProperties.get("license"));
|
||||||
if (!StringUtils.isEmpty(license.get("pid"))) {
|
if (license != null && !StringUtils.isEmpty(license.get("pid"))) {
|
||||||
XWPFRun runLicense = systemFieldParagraph.createRun();
|
XWPFRun runLicense = systemFieldParagraph.createRun();
|
||||||
runLicense.setText(license.get("pid").toString());
|
runLicense.setText(license.get("pid").toString());
|
||||||
runLicense.setColor("116a78");
|
runLicense.setColor("116a78");
|
||||||
|
|
|
@ -140,6 +140,7 @@ public class GrantManager {
|
||||||
|
|
||||||
grants.add(grant);
|
grants.add(grant);
|
||||||
}
|
}
|
||||||
|
grants = grants.stream().filter(grant -> grant.getLabel() != null).collect(Collectors.toList());
|
||||||
grants.sort(Comparator.comparing(Grant::getLabel));
|
grants.sort(Comparator.comparing(Grant::getLabel));
|
||||||
grants = grants.stream().filter(listHelper.distinctByKey(Grant::getLabel)).collect(Collectors.toList());
|
grants = grants.stream().filter(listHelper.distinctByKey(Grant::getLabel)).collect(Collectors.toList());
|
||||||
return grants;
|
return grants;
|
||||||
|
|
|
@ -5,33 +5,7 @@
|
||||||
<app-sidebar></app-sidebar>
|
<app-sidebar></app-sidebar>
|
||||||
</mat-sidenav>
|
</mat-sidenav>
|
||||||
<mat-sidenav-content class="sidenav-content">
|
<mat-sidenav-content class="sidenav-content">
|
||||||
<div id="main-page" >
|
<div id="main-page">
|
||||||
<div class="main-content h-100 pb-0" *ngIf="newReleaseNotificationVisible">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="d-flex flex-direction-row">
|
|
||||||
<div class="card notification-header">
|
|
||||||
<div class="col">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-auto info">
|
|
||||||
<div class="notification-title">{{'NEW-RELEASE-NOTIFICATION.TITLE' | translate}}</div>
|
|
||||||
<div class="notification-subtitle" *ngIf="!this.configurationService.newReleaseNotificationLink">{{'NEW-RELEASE-NOTIFICATION.SUBTITLE' | translate}}</div>
|
|
||||||
<div class="notification-subtitle" *ngIf="this.configurationService.newReleaseNotificationLink">{{'NEW-RELEASE-NOTIFICATION.SUBTITLE-WITH-PRE-LINK' | translate }} <a class="notification-link" href="{{this.configurationService.newReleaseNotificationLink}}" target="_blank">{{'NEW-RELEASE-NOTIFICATION.SUBTITLE-LINK-TEXT' | translate }}</a> {{'NEW-RELEASE-NOTIFICATION.SUBTITLE-WITH-AFTER-LINK' | translate }}</div>
|
|
||||||
</div>
|
|
||||||
<div class="ml-auto d-flex flex-row">
|
|
||||||
<div class="col-auto d-flex align-items-center">
|
|
||||||
<div>
|
|
||||||
<button mat-raised-button class="notification-save-btn" (click)="dismissNewReleaseNotification()">
|
|
||||||
{{'NEW-RELEASE-NOTIFICATION.ACTIONS.DISMISS' | translate}}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<router-outlet (activate)='onActivate($event)' (deactivate)='onDeactivate($event)'></router-outlet>
|
<router-outlet (activate)='onActivate($event)' (deactivate)='onDeactivate($event)'></router-outlet>
|
||||||
</div>
|
</div>
|
||||||
</mat-sidenav-content>
|
</mat-sidenav-content>
|
||||||
|
|
|
@ -40,7 +40,6 @@ export class AppComponent implements OnInit, AfterViewInit {
|
||||||
helpContentEnabled: boolean;
|
helpContentEnabled: boolean;
|
||||||
private statusChangeSubscription: Subscription;
|
private statusChangeSubscription: Subscription;
|
||||||
onlySplash = true;
|
onlySplash = true;
|
||||||
newReleaseNotificationVisible = false;
|
|
||||||
|
|
||||||
@ViewChild('sidenav') sidenav: MatSidenav;
|
@ViewChild('sidenav') sidenav: MatSidenav;
|
||||||
|
|
||||||
|
@ -97,7 +96,6 @@ export class AppComponent implements OnInit, AfterViewInit {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.newReleaseNotificationVisible = this.isNewReleaseNotificationVisible();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onActivate(event: any) {
|
onActivate(event: any) {
|
||||||
|
@ -236,27 +234,5 @@ export class AppComponent implements OnInit, AfterViewInit {
|
||||||
toggleNavbar(event) {
|
toggleNavbar(event) {
|
||||||
document.getElementById('hamburger').classList.toggle("change");
|
document.getElementById('hamburger').classList.toggle("change");
|
||||||
}
|
}
|
||||||
|
|
||||||
dismissNewReleaseNotification() {
|
|
||||||
this.cookieService.set('new-release-dismiss-' + this.configurationService.newReleaseNotificationVersionCode, 'true', 5000, null, null, false, 'Lax');
|
|
||||||
this.newReleaseNotificationVisible = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
isNewReleaseNotificationVisible() {
|
|
||||||
if (this.configurationService.newReleaseNotificationVersionCode == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (this.configurationService.newReleaseNotificationExpires == null && this.configurationService.newReleaseNotificationLink == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (this.configurationService.newReleaseNotificationExpires != null && moment(this.configurationService.newReleaseNotificationExpires).tz('UTC') < moment.utc()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (this.cookieService.get('new-release-dismiss-' + this.configurationService.newReleaseNotificationVersionCode) === 'true') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,8 @@ export class RichTextEditorComponent {
|
||||||
{ name: 'H3 header', class: '', tag: 'h3' },
|
{ name: 'H3 header', class: '', tag: 'h3' },
|
||||||
{ name: 'H4 header', class: '', tag: 'h4' },
|
{ name: 'H4 header', class: '', tag: 'h4' },
|
||||||
{ name: 'H5 header', class: '', tag: 'h5'},
|
{ name: 'H5 header', class: '', tag: 'h5'},
|
||||||
{ name: 'H6 header', class: '', tag: 'h6'}
|
{ name: 'H6 header', class: '', tag: 'h6'},
|
||||||
|
{ name: 'Highlight', class: 'highlight', tag: ''}
|
||||||
],
|
],
|
||||||
toolbarHiddenButtons: [
|
toolbarHiddenButtons: [
|
||||||
[
|
[
|
||||||
|
@ -56,7 +57,7 @@ export class RichTextEditorComponent {
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'fontSize',
|
'fontSize',
|
||||||
// 'backgroundColor',
|
'backgroundColor',
|
||||||
// 'customClasses',
|
// 'customClasses',
|
||||||
'insertImage',
|
'insertImage',
|
||||||
'insertVideo',
|
'insertVideo',
|
||||||
|
|
|
@ -3,6 +3,26 @@
|
||||||
<div *ngIf="this.dashboardStatisticsData">
|
<div *ngIf="this.dashboardStatisticsData">
|
||||||
<div class="main-content">
|
<div class="main-content">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
|
<div class="row">
|
||||||
|
<div *ngIf="newReleaseNotificationVisible" class="new-releases-card col-auto mt-0 mr-4" [style.display]="isVisible ? 'block' : 'none'">
|
||||||
|
<a class="col-auto d-flex" (click)="dismissNewReleaseNotification()"><span class="ml-auto mt-3 material-icons clear-icon">clear</span></a>
|
||||||
|
<div class="row new-releases-hint-container m-0">
|
||||||
|
<p class="new-releases-chip mb-0 col-auto">{{'NEW-RELEASE-NOTIFICATION.HINT' | translate}}</p>
|
||||||
|
</div>
|
||||||
|
<p class="new-releases-title mb-0 pt-4">{{'NEW-RELEASE-NOTIFICATION.TITLE' | translate}}</p>
|
||||||
|
<p class="new-releases-content mb-0">{{'NEW-RELEASE-NOTIFICATION.BODY' | translate}}</p>
|
||||||
|
|
||||||
|
<div class="row d-flex align-items-center mt-4" *ngIf="this.configurationService.newReleaseNotificationLink">
|
||||||
|
<div class="col-auto d-flex">
|
||||||
|
<a class="notification-link" href="{{this.configurationService.newReleaseNotificationLink}}" target="_blank">
|
||||||
|
<button mat-raised-button type="button" class="col-auto align-self-center new-releases-btn">{{'NEW-RELEASE-NOTIFICATION.ACTIONS.LEARN-MORE' | translate}}</button>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<span class="new-releases-logo">
|
||||||
|
<img src="../../../assets/images/new-releases-logo.png">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="card col-auto mt-0" [style.display]="isVisible ? 'block' : 'none'">
|
<div class="card col-auto mt-0" [style.display]="isVisible ? 'block' : 'none'">
|
||||||
<a *ngIf="this.hasDmps()" class="col-auto d-flex" (click)="closeCard()"><span class="ml-auto mt-3 material-icons clear-icon">clear</span></a>
|
<a *ngIf="this.hasDmps()" class="col-auto d-flex" (click)="closeCard()"><span class="ml-auto mt-3 material-icons clear-icon">clear</span></a>
|
||||||
|
|
||||||
|
@ -29,27 +49,27 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div *ngIf="this.hasDmps()" class="col">
|
<div *ngIf="this.hasDmps()" class="col">
|
||||||
<div class="latest-activity-title">{{'DASHBOARD.LATEST-ACTIVITY' | translate}}</div>
|
<div class="latest-activity-title">{{'DASHBOARD.LATEST-ACTIVITY' | translate}}</div>
|
||||||
<mat-tab-group mat-align-tabs="start" class="remove-border-bottom"
|
<mat-tab-group mat-align-tabs="start" class="remove-border-bottom" [selectedIndex]="indexFromCurrentType" (selectedTabChange)="currentType = $event.tab.ariaLabel">
|
||||||
[selectedIndex]="indexFromCurrentType" (selectedTabChange)="currentType = $event.tab.ariaLabel">
|
<!-- <mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}} ({{totalRecents}})">-->
|
||||||
<!-- <mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}} ({{totalRecents}})">-->
|
|
||||||
<mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}}">
|
<mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}}">
|
||||||
<app-recent-edited-activity (totalCountRecentEdited)="onCountAllRecent($event)" [isActive]="currentType == 'recent'"></app-recent-edited-activity>
|
<app-recent-edited-activity (totalCountRecentEdited)="onCountAllRecent($event)" [isActive]="currentType == 'recent'"></app-recent-edited-activity>
|
||||||
<div *ngIf="totalRecents === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalRecents === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
<!-- <mat-tab aria-label="draft" label="{{'DASHBOARD.DRAFTS' | translate}} ({{totalDraftDatasets}})">-->
|
<!-- <mat-tab aria-label="draft" label="{{'DASHBOARD.DRAFTS' | translate}} ({{totalDraftDatasets}})">-->
|
||||||
<mat-tab aria-label="drafts" label="{{'DASHBOARD.DRAFTS' | translate}}">
|
<mat-tab aria-label="drafts" label="{{'DASHBOARD.DRAFTS' | translate}}">
|
||||||
<app-drafts (totalCountDraftDatasets)="onCountDraftDatasets($event)" [isActive]="currentType == 'drafts'"></app-drafts>
|
<app-drafts (totalCountDraftDatasets)="onCountDraftDatasets($event)" [isActive]="currentType == 'drafts'"></app-drafts>
|
||||||
<div *ngIf="totalDraftDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalDraftDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
</mat-tab>>
|
</mat-tab>>
|
||||||
<!-- <mat-tab aria-label="dmps" label="{{'DASHBOARD.DMPS' | translate}} ({{totalDmps}})">-->
|
<!-- <mat-tab aria-label="dmps" label="{{'DASHBOARD.DMPS' | translate}} ({{totalDmps}})">-->
|
||||||
<mat-tab aria-label="dmps" label="{{'DASHBOARD.DMPS' | translate}}">
|
<mat-tab aria-label="dmps" label="{{'DASHBOARD.DMPS' | translate}}">
|
||||||
<app-recent-edited-dmp-activity (totalCountDmps)="onCountDmps($event)" [isActive]="currentType == 'dmps'"></app-recent-edited-dmp-activity>
|
<app-recent-edited-dmp-activity (totalCountDmps)="onCountDmps($event)" [isActive]="currentType == 'dmps'"></app-recent-edited-dmp-activity>
|
||||||
<div *ngIf="totalDmps === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalDmps === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
<!-- <mat-tab aria-label="datasets" label="{{'DASHBOARD.DESCRIPTIONS' | translate}} ({{totalDatasets}})">-->
|
<!-- <mat-tab aria-label="datasets" label="{{'DASHBOARD.DESCRIPTIONS' | translate}} ({{totalDatasets}})">-->
|
||||||
<mat-tab aria-label="datasets" label="{{'DASHBOARD.DESCRIPTIONS' | translate}}">
|
<mat-tab aria-label="datasets" label="{{'DASHBOARD.DESCRIPTIONS' | translate}}">
|
||||||
<app-recent-edited-dataset-activity (totalCountDatasets)="onCountDatasets($event)" [isActive]="currentType == 'datasets'"></app-recent-edited-dataset-activity>
|
<app-recent-edited-dataset-activity (totalCountDatasets)="onCountDatasets($event)" [isActive]="currentType == 'datasets'"></app-recent-edited-dataset-activity>
|
||||||
<div *ngIf="totalDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
|
@ -129,19 +149,18 @@
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="hasDmps()" class="col activity">
|
<div *ngIf="hasDmps()" class="col activity">
|
||||||
<div class="latest-activity-title">{{'DASHBOARD.LATEST-ACTIVITY' | translate}}</div>
|
<div class="latest-activity-title">{{'DASHBOARD.LATEST-ACTIVITY' | translate}}</div>
|
||||||
<mat-tab-group mat-align-tabs="start" class="remove-border-bottom" (
|
<mat-tab-group mat-align-tabs="start" class="remove-border-bottom" ( [selectedIndex]="indexFromCurrentType" selectedTabChange)="currentType = $event.tab.ariaLabel">
|
||||||
[selectedIndex]="indexFromCurrentType" selectedTabChange)="currentType = $event.tab.ariaLabel">
|
<!-- <mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}} ({{totalRecents}})">-->
|
||||||
<!-- <mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}} ({{totalRecents}})">-->
|
|
||||||
<mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}}">
|
<mat-tab aria-label="recent" label="{{'DASHBOARD.ALL' | translate}}">
|
||||||
<app-recent-edited-activity (totalCountRecentEdited)="onCountAllRecent($event)" [isActive]="currentType == 'recent'"></app-recent-edited-activity>
|
<app-recent-edited-activity (totalCountRecentEdited)="onCountAllRecent($event)" [isActive]="currentType == 'recent'"></app-recent-edited-activity>
|
||||||
<div *ngIf="totalRecents === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalRecents === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
<!-- <mat-tab aria-label="dmps" label="{{'DASHBOARD.PUBLIC-DMPS' | translate}} ({{totalDmps}})">-->
|
<!-- <mat-tab aria-label="dmps" label="{{'DASHBOARD.PUBLIC-DMPS' | translate}} ({{totalDmps}})">-->
|
||||||
<mat-tab aria-label="dmps" label="{{'DASHBOARD.PUBLIC-DMPS' | translate}}">
|
<mat-tab aria-label="dmps" label="{{'DASHBOARD.PUBLIC-DMPS' | translate}}">
|
||||||
<app-recent-edited-dmp-activity (totalCountDmps)="onCountDmps($event)" [isActive]="currentType == 'dmps'"></app-recent-edited-dmp-activity>
|
<app-recent-edited-dmp-activity (totalCountDmps)="onCountDmps($event)" [isActive]="currentType == 'dmps'"></app-recent-edited-dmp-activity>
|
||||||
<div *ngIf="totalDmps === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalDmps === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
<!-- <mat-tab aria-label="datasets" label="{{'DASHBOARD.PUBLIC-DATASETS' | translate}} ({{totalDatasets}})">-->
|
<!-- <mat-tab aria-label="datasets" label="{{'DASHBOARD.PUBLIC-DATASETS' | translate}} ({{totalDatasets}})">-->
|
||||||
<mat-tab aria-label="datasets" label="{{'DASHBOARD.PUBLIC-DATASETS' | translate}}">
|
<mat-tab aria-label="datasets" label="{{'DASHBOARD.PUBLIC-DATASETS' | translate}}">
|
||||||
<app-recent-edited-dataset-activity (totalCountDatasets)="onCountDatasets($event)" [isActive]="currentType == 'datasets'"></app-recent-edited-dataset-activity>
|
<app-recent-edited-dataset-activity (totalCountDatasets)="onCountDatasets($event)" [isActive]="currentType == 'datasets'"></app-recent-edited-dataset-activity>
|
||||||
<div *ngIf="totalDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
<div *ngIf="totalDatasets === 0" class="empty-list">{{'DASHBOARD.EMPTY-LIST' | translate}}</div>
|
||||||
|
@ -187,11 +206,11 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <div class="header-image">
|
<!-- <div class="header-image">
|
||||||
<div class="header-text-container">
|
<div class="header-text-container">
|
||||||
<h3>{{ 'ABOUT.WELCOME' | translate }}</h3>
|
<h3>{{ 'ABOUT.WELCOME' | translate }}</h3>
|
||||||
<h4>{{ 'ABOUT.WELCOME-MESSAGE' | translate }}</h4>
|
<h4>{{ 'ABOUT.WELCOME-MESSAGE' | translate }}</h4>
|
||||||
|
|
|
@ -425,6 +425,87 @@ input[type="text"] {
|
||||||
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
padding: 0.3rem 0rem 0.6rem 0rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.new-releases-hint-container {
|
||||||
|
padding-left: 40px;
|
||||||
|
/* padding-top: 40px; */
|
||||||
|
padding-right: 55px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-releases-card {
|
||||||
|
box-shadow: 0px 3px 6px #00000029;
|
||||||
|
max-width: 712px;
|
||||||
|
min-width: 17.5rem;
|
||||||
|
margin-top: 0rem;
|
||||||
|
margin-bottom: 3.75rem;
|
||||||
|
|
||||||
|
background: transparent linear-gradient(127deg, #EDAEB3 0%, #E1368A 100%) 0% 0% no-repeat padding-box;
|
||||||
|
border-radius: 6px;
|
||||||
|
opacity: 1;
|
||||||
|
padding-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-releases-btn {
|
||||||
|
height: 40px;
|
||||||
|
margin-left: 40px;
|
||||||
|
|
||||||
|
background: var(--primary-color) 0% 0% no-repeat padding-box;
|
||||||
|
border-radius: 30px;
|
||||||
|
opacity: 1;
|
||||||
|
color: #FFFFFF;
|
||||||
|
padding-right: 2em;
|
||||||
|
padding-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-releases-chip {
|
||||||
|
// margin-bottom: 1em;
|
||||||
|
// margin-left: 2.5em;
|
||||||
|
// margin-right: 2.5em;
|
||||||
|
color: #fff;
|
||||||
|
/* text-transform: uppercase; */
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 500;
|
||||||
|
/* max-width: 160px; */
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
background: #EAEAEA 0% 0% no-repeat padding-box;
|
||||||
|
border-radius: 30px;
|
||||||
|
opacity: 0.7;
|
||||||
|
/* font: normal normal bold 12px/21px Aileron; */
|
||||||
|
letter-spacing: 0.12px;
|
||||||
|
color: #6E6E6E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-releases-title {
|
||||||
|
text-align: left;
|
||||||
|
font: Bold 30px/34px Roboto;
|
||||||
|
letter-spacing: 0px;
|
||||||
|
color: #212121;
|
||||||
|
padding-left: 40px;
|
||||||
|
/* padding-top: 40px; */
|
||||||
|
padding-right: 55px;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-releases-content {
|
||||||
|
text-align: left;
|
||||||
|
font-weight: 300;
|
||||||
|
font-size: 1rem;
|
||||||
|
letter-spacing: 0px;
|
||||||
|
color: #212121;
|
||||||
|
padding-left: 40px;
|
||||||
|
font: normal normal normal 16px/24px Roboto;
|
||||||
|
padding-top: 36px;
|
||||||
|
padding-right: 55px;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.new-releases-logo {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* ::ng-deep .mat-tab-group {
|
/* ::ng-deep .mat-tab-group {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,9 @@ import { UiNotificationService, SnackBarNotificationLevel } from '@app/core/serv
|
||||||
import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service';
|
import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service';
|
||||||
import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants';
|
import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants';
|
||||||
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
import { MatomoService } from '@app/core/services/matomo/matomo-service';
|
||||||
|
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
|
||||||
|
import * as moment from 'moment';
|
||||||
|
import { CookieService } from 'ngx-cookie-service';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -73,6 +76,7 @@ export class DashboardComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
importFileText: string;
|
importFileText: string;
|
||||||
startWizardText: string;
|
startWizardText: string;
|
||||||
currentType: string = "recent";
|
currentType: string = "recent";
|
||||||
|
newReleaseNotificationVisible = false;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private router: Router,
|
private router: Router,
|
||||||
|
@ -89,7 +93,9 @@ export class DashboardComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
private language: TranslateService,
|
private language: TranslateService,
|
||||||
private uiNotificationService: UiNotificationService,
|
private uiNotificationService: UiNotificationService,
|
||||||
private guidedTourService: GuidedTourService,
|
private guidedTourService: GuidedTourService,
|
||||||
private matomoService: MatomoService
|
private matomoService: MatomoService,
|
||||||
|
private cookieService: CookieService,
|
||||||
|
public configurationService: ConfigurationService
|
||||||
) {
|
) {
|
||||||
super();
|
super();
|
||||||
// this.dashboardStatisticsData.totalDataManagementPlanCount = 0;
|
// this.dashboardStatisticsData.totalDataManagementPlanCount = 0;
|
||||||
|
@ -154,6 +160,8 @@ export class DashboardComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
this.filteredOptions = this.searchControl.valueChanges.pipe(mergeMap(x => {
|
this.filteredOptions = this.searchControl.valueChanges.pipe(mergeMap(x => {
|
||||||
return this.searchBarService.search(x);
|
return this.searchBarService.search(x);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
this.newReleaseNotificationVisible = this.isNewReleaseNotificationVisible();
|
||||||
}
|
}
|
||||||
|
|
||||||
public get indexFromCurrentType() {
|
public get indexFromCurrentType() {
|
||||||
|
@ -400,4 +408,26 @@ export class DashboardComponent extends BaseComponent implements OnInit, IBreadC
|
||||||
// viewAllPublicDatasetsClicked() {
|
// viewAllPublicDatasetsClicked() {
|
||||||
// this.router.navigate(['explore']);
|
// this.router.navigate(['explore']);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
dismissNewReleaseNotification() {
|
||||||
|
this.cookieService.set('new-release-dismiss-' + this.configurationService.newReleaseNotificationVersionCode, 'true', 5000, null, null, false, 'Lax');
|
||||||
|
this.newReleaseNotificationVisible = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
isNewReleaseNotificationVisible() {
|
||||||
|
if (this.configurationService.newReleaseNotificationVersionCode == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (this.configurationService.newReleaseNotificationExpires == null && this.configurationService.newReleaseNotificationLink == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (this.configurationService.newReleaseNotificationExpires != null && moment(this.configurationService.newReleaseNotificationExpires).tz('UTC') < moment.utc()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (this.cookieService.get('new-release-dismiss-' + this.configurationService.newReleaseNotificationVersionCode) === 'true') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,7 +296,6 @@ export class DatasetWizardComponent extends CheckDeactivateBaseComponent impleme
|
||||||
const request: DataTableRequest<DatasetProfileCriteria> = new DataTableRequest<DatasetProfileCriteria>(null, null, null);
|
const request: DataTableRequest<DatasetProfileCriteria> = new DataTableRequest<DatasetProfileCriteria>(null, null, null);
|
||||||
request.criteria = new DatasetProfileCriteria();
|
request.criteria = new DatasetProfileCriteria();
|
||||||
request.criteria.ids = [];
|
request.criteria.ids = [];
|
||||||
result.definition.sections[this.dmpSectionIndex].descriptionTemplates.forEach(template => request.criteria.ids.push(template.descriptionTemplateId));
|
|
||||||
this.availableDescriptionTemplates.forEach(template => request.criteria.ids.push(template.id));
|
this.availableDescriptionTemplates.forEach(template => request.criteria.ids.push(template.id));
|
||||||
this.datasetService.getDatasetProfilesWithPrefilling(request)
|
this.datasetService.getDatasetProfilesWithPrefilling(request)
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
|
|
|
@ -51,9 +51,9 @@
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
<ul *ngIf="hasProfile(i)" class="add-dataset-option">
|
<ul *ngIf="dmp?.id && hasProfile(i)" class="add-dataset-option">
|
||||||
<li>
|
<li>
|
||||||
<a class="add-dataset-action" (click)="addDataset(i)">
|
<a class="add-dataset-action" [routerLink]="['/datasets/new/' + dmp.id + '/' + i]">
|
||||||
<mat-icon>add</mat-icon>{{'DMP-LISTING.ACTIONS.ADD-DESCRIPTION-FOR-SECTION' | translate}}
|
<mat-icon>add</mat-icon>{{'DMP-LISTING.ACTIONS.ADD-DESCRIPTION-FOR-SECTION' | translate}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -486,7 +486,7 @@ export class DmpEditorBlueprintComponent extends CheckDeactivateBaseComponent im
|
||||||
}
|
}
|
||||||
|
|
||||||
hasProfile(sectionIndex: number): boolean {
|
hasProfile(sectionIndex: number): boolean {
|
||||||
return this.formGroup.get('profiles') && this.formGroup.get('profiles').value && this.formGroup.get('profiles').value.some(x => x.data.dmpSectionIndex.includes(sectionIndex));
|
return this.formGroup.get('profiles') && this.formGroup.get('profiles').value && this.formGroup.get('profiles').value.some(x => x.data?.dmpSectionIndex?.includes(sectionIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
addDataset(dmpSectionIndex: number) {
|
addDataset(dmpSectionIndex: number) {
|
||||||
|
|
|
@ -107,8 +107,8 @@
|
||||||
"orcidPath": "https://orcid.org/",
|
"orcidPath": "https://orcid.org/",
|
||||||
"maxFileSizeInMB": 10,
|
"maxFileSizeInMB": 10,
|
||||||
"newReleaseNotification": {
|
"newReleaseNotification": {
|
||||||
"link": "https://google.com",
|
"link": "https://www.openaire.eu/gazing-the-future-output-management-plans",
|
||||||
"versionCode": "0",
|
"versionCode": "0",
|
||||||
"expires": "2024-01-28T00:00"
|
"expires": "2024-02-15T00:00"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
|
||||||
|
var sign_out_google = (function() {
|
||||||
|
var auth2 = gapi.auth2.getAuthInstance();
|
||||||
|
auth2.signOut().then(function () {
|
||||||
|
console.log('User signed out from google.');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var simple_notifier = (function(type, title, message) {
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
$(".alert").remove();
|
||||||
|
}, 11000);
|
||||||
|
|
||||||
|
return notify(type, title, message, null, null, null, null, null, null, null, null, null, null);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function notify(type, title, message, delay, icon, url, target, allow_dismiss, offset_x, offset_y, animate_enter, animate_exit, newest_on_top){
|
||||||
|
|
||||||
|
var options = {};
|
||||||
|
if(icon!=null) options.icon = icon;
|
||||||
|
if(title!=null) options.title = title;
|
||||||
|
if(message!=null) options.message = message;
|
||||||
|
if(url!=null) options.url = url;
|
||||||
|
if(target!=null) options.target = target;
|
||||||
|
|
||||||
|
var settings = {};
|
||||||
|
if(type!=null) settings.type = type;
|
||||||
|
if(allow_dismiss!=null) settings.allow_dismiss = allow_dismiss;
|
||||||
|
settings.delay = 5;
|
||||||
|
if(delay!=null) settings.delay = delay;
|
||||||
|
|
||||||
|
return $.notify(options,settings, delay);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -105,7 +105,7 @@
|
||||||
},
|
},
|
||||||
"DMP-TO-DATASET-DIALOG": {
|
"DMP-TO-DATASET-DIALOG": {
|
||||||
"FROM-DMP": "You have successfully created your",
|
"FROM-DMP": "You have successfully created your",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"TO-DATASET": "You will be transferred to the",
|
"TO-DATASET": "You will be transferred to the",
|
||||||
"DATASET": "Dataset",
|
"DATASET": "Dataset",
|
||||||
"EDITOR": "editor",
|
"EDITOR": "editor",
|
||||||
|
@ -132,8 +132,8 @@
|
||||||
"OPENSOURCE-LICENCES": "Opensource Licenses",
|
"OPENSOURCE-LICENCES": "Opensource Licenses",
|
||||||
"TERMS": "Terms Of Service",
|
"TERMS": "Terms Of Service",
|
||||||
"COOKIES-POLICY": "Cookies Policy",
|
"COOKIES-POLICY": "Cookies Policy",
|
||||||
"PLANS": "My DMPs",
|
"PLANS": "My Plans",
|
||||||
"EXPLORE-PLANS": "Published DMPs",
|
"EXPLORE-PLANS": "Published Plans",
|
||||||
"QUICK-WIZARD": "New DMP (Wizard)",
|
"QUICK-WIZARD": "New DMP (Wizard)",
|
||||||
"PLANS-NEW": "New DMP (Expert)",
|
"PLANS-NEW": "New DMP (Expert)",
|
||||||
"DMP-NEW": "New DMP",
|
"DMP-NEW": "New DMP",
|
||||||
|
@ -224,9 +224,9 @@
|
||||||
"TITLE": "{{ APP_NAME_CAPS }}",
|
"TITLE": "{{ APP_NAME_CAPS }}",
|
||||||
"GRANTS": "Grants",
|
"GRANTS": "Grants",
|
||||||
"GRANT": "Grant",
|
"GRANT": "Grant",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"DMPS": "DMPs",
|
"DMPS": "Plans",
|
||||||
"MY-DMPS": "MY DMPs",
|
"MY-DMPS": "MY Plans",
|
||||||
"DATASETS": "Datasets",
|
"DATASETS": "Datasets",
|
||||||
"DESCRIPTION": "Description",
|
"DESCRIPTION": "Description",
|
||||||
"PUBLIC-DATASETS": "Explore {{ APP_NAME_CAPS }}",
|
"PUBLIC-DATASETS": "Explore {{ APP_NAME_CAPS }}",
|
||||||
|
@ -244,13 +244,13 @@
|
||||||
"TEMPLATE": "TEMPLATE",
|
"TEMPLATE": "TEMPLATE",
|
||||||
"DMP-BLUEPRINTS-CAPS": "DMP BLUEPRINTS",
|
"DMP-BLUEPRINTS-CAPS": "DMP BLUEPRINTS",
|
||||||
"USERS-BREADCRUMB": "USERS",
|
"USERS-BREADCRUMB": "USERS",
|
||||||
"START-NEW-DMP": "Start new DMP",
|
"START-NEW-DMP": "Start new Plan",
|
||||||
"START-NEW-DMP-TXT": "Start fresh or continue work in {{ APP_NAME }}! Create a new DMP or upload an existing DMP to {{ APP_NAME }}",
|
"START-NEW-DMP-TXT": "Start fresh or continue work in {{ APP_NAME }}! Create a new DMP or upload an existing DMP to {{ APP_NAME }}",
|
||||||
"START-WIZARD": "Start wizard",
|
"START-WIZARD": "Start wizard",
|
||||||
"IMPORT-FROM-FILE": "Import from file",
|
"IMPORT-FROM-FILE": "Import from file",
|
||||||
"SEARCH": {
|
"SEARCH": {
|
||||||
"DATASET": "Dataset",
|
"DATASET": "Dataset",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"GRANT": "Grant",
|
"GRANT": "Grant",
|
||||||
"PUBLISHED": "Published"
|
"PUBLISHED": "Published"
|
||||||
}
|
}
|
||||||
|
@ -260,7 +260,7 @@
|
||||||
"ABOUT": "About",
|
"ABOUT": "About",
|
||||||
"DASHBOARD": "Home",
|
"DASHBOARD": "Home",
|
||||||
"DMP": "DATA MANAGEMENT PLANS",
|
"DMP": "DATA MANAGEMENT PLANS",
|
||||||
"MY-DMPS": "My DMPs",
|
"MY-DMPS": "My Plans",
|
||||||
"DATASETS": "DATASETS",
|
"DATASETS": "DATASETS",
|
||||||
"GRANTS": "GRANTS",
|
"GRANTS": "GRANTS",
|
||||||
"NEW DATASET": "New Dataset",
|
"NEW DATASET": "New Dataset",
|
||||||
|
@ -274,7 +274,7 @@
|
||||||
"HISTORY-VISITED": "LAST VISITED",
|
"HISTORY-VISITED": "LAST VISITED",
|
||||||
"HISTORY-EDITED": "LAST EDITED",
|
"HISTORY-EDITED": "LAST EDITED",
|
||||||
"PUBLIC": "PUBLISHED",
|
"PUBLIC": "PUBLISHED",
|
||||||
"PUBLIC-DMPS": "Public DMPs",
|
"PUBLIC-DMPS": "Public Plans",
|
||||||
"PUBLIC-DESC": "Public Descriptions",
|
"PUBLIC-DESC": "Public Descriptions",
|
||||||
"ACCOUNT": "ACCOUNT",
|
"ACCOUNT": "ACCOUNT",
|
||||||
"ADMIN": "ADMIN",
|
"ADMIN": "ADMIN",
|
||||||
|
@ -623,7 +623,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-LISTING": {
|
"DMP-LISTING": {
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"GRANT": "Grant",
|
"GRANT": "Grant",
|
||||||
"TITLE": "Data Management Plans",
|
"TITLE": "Data Management Plans",
|
||||||
"OWNER": "Owner",
|
"OWNER": "Owner",
|
||||||
|
@ -635,7 +635,7 @@
|
||||||
"VERSION": "Version",
|
"VERSION": "Version",
|
||||||
"CONTAINED-DESCRIPTIONS": "Contained Descriptions",
|
"CONTAINED-DESCRIPTIONS": "Contained Descriptions",
|
||||||
"TEXT-INFO": "Information in a DMP show how descriptions have been collected and/or generated, how they have been processed and analyzed, i.e. using which tools, standards, methodologies etc, but also where and how descriptions are backed up, published and preserved, including any costs associated with personnel dedicated for data curation/ stewardship activities or costs for acquiring or building data management services.",
|
"TEXT-INFO": "Information in a DMP show how descriptions have been collected and/or generated, how they have been processed and analyzed, i.e. using which tools, standards, methodologies etc, but also where and how descriptions are backed up, published and preserved, including any costs associated with personnel dedicated for data curation/ stewardship activities or costs for acquiring or building data management services.",
|
||||||
"TEXT-INFO-QUESTION": "Not sure how a DMP looks in practice? Browse Public DMPs and",
|
"TEXT-INFO-QUESTION": "Not sure how a Plan looks in practice? Browse Public Plans and",
|
||||||
"LINK-ZENODO": "LIBER community in Zenodo",
|
"LINK-ZENODO": "LIBER community in Zenodo",
|
||||||
"GET-IDEA": "to get an idea!",
|
"GET-IDEA": "to get an idea!",
|
||||||
"SORT-BY": "Sort by",
|
"SORT-BY": "Sort by",
|
||||||
|
@ -887,7 +887,7 @@
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
"LAST-EDITED": "Last Edited",
|
"LAST-EDITED": "Last Edited",
|
||||||
"ACTIONS": "Actions",
|
"ACTIONS": "Actions",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"PROFILE": "Template",
|
"PROFILE": "Template",
|
||||||
"DATAREPOSITORIES": "Data Repositories",
|
"DATAREPOSITORIES": "Data Repositories",
|
||||||
"REGISTRIES": "Registries",
|
"REGISTRIES": "Registries",
|
||||||
|
@ -914,7 +914,7 @@
|
||||||
"DRAFT": "Private access - Editable Dataset",
|
"DRAFT": "Private access - Editable Dataset",
|
||||||
"FINALIZED": "Private access - Closed Dataset"
|
"FINALIZED": "Private access - Closed Dataset"
|
||||||
},
|
},
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"GRANT": "Grant",
|
"GRANT": "Grant",
|
||||||
"TEMPLATES-INVOLVED": "Description Template",
|
"TEMPLATES-INVOLVED": "Description Template",
|
||||||
"VERSION": "DMP Version",
|
"VERSION": "DMP Version",
|
||||||
|
@ -928,7 +928,7 @@
|
||||||
"TITLE": "Published Datasets",
|
"TITLE": "Published Datasets",
|
||||||
"TOOLTIP": {
|
"TOOLTIP": {
|
||||||
"FINALIZED": "Private access - Closed Dataset",
|
"FINALIZED": "Private access - Closed Dataset",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"GRANT": "Grant",
|
"GRANT": "Grant",
|
||||||
"TEMPLATES-INVOLVED": "Description Template"
|
"TEMPLATES-INVOLVED": "Description Template"
|
||||||
},
|
},
|
||||||
|
@ -950,7 +950,7 @@
|
||||||
"DESCRIPTION": "Description",
|
"DESCRIPTION": "Description",
|
||||||
"CREATED": "Created",
|
"CREATED": "Created",
|
||||||
"ACTIONS": "Actions",
|
"ACTIONS": "Actions",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"PROFILE": "Template",
|
"PROFILE": "Template",
|
||||||
"DATAREPOSITORIES": "Data Repositories",
|
"DATAREPOSITORIES": "Data Repositories",
|
||||||
"REGISTRIES": "Registries",
|
"REGISTRIES": "Registries",
|
||||||
|
@ -1071,7 +1071,7 @@
|
||||||
"TITLE": {
|
"TITLE": {
|
||||||
"NEW": "New Data Management Plan",
|
"NEW": "New Data Management Plan",
|
||||||
"EDIT": "Edit",
|
"EDIT": "Edit",
|
||||||
"EDIT-DMP": "Editing DMP",
|
"EDIT-DMP": "Editing Plan",
|
||||||
"ADD-DATASET": "Adding description",
|
"ADD-DATASET": "Adding description",
|
||||||
"EDIT-DESCRIPTION": "Editing Description",
|
"EDIT-DESCRIPTION": "Editing Description",
|
||||||
"CLONE-DMP": "Clone",
|
"CLONE-DMP": "Clone",
|
||||||
|
@ -1164,7 +1164,7 @@
|
||||||
"NEXT": "Next"
|
"NEXT": "Next"
|
||||||
},
|
},
|
||||||
"MAIN-INFO": {
|
"MAIN-INFO": {
|
||||||
"INTRO": "A DMP in {{ APP_NAME }} consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research datasets that highlight the steps followed and the means used across data management activities.",
|
"INTRO": "A Plan in {{ APP_NAME }} consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research datasets that highlight the steps followed and the means used across data management activities.",
|
||||||
"HINT": "A brief description of what the DMP is about, it’s scope and objectives.",
|
"HINT": "A brief description of what the DMP is about, it’s scope and objectives.",
|
||||||
"TYPING": "Type more letters of the name so its more possible to find the correct one.",
|
"TYPING": "Type more letters of the name so its more possible to find the correct one.",
|
||||||
"UNIQUE-IDENTIFIER": "Unique Identifier",
|
"UNIQUE-IDENTIFIER": "Unique Identifier",
|
||||||
|
@ -1184,7 +1184,7 @@
|
||||||
"IDENTIFIER-PROJECT-EXISTS": "A project with the given identifier exists."
|
"IDENTIFIER-PROJECT-EXISTS": "A project with the given identifier exists."
|
||||||
},
|
},
|
||||||
"DATASET-INFO": {
|
"DATASET-INFO": {
|
||||||
"INTRO": "A DMP in {{ APP_NAME }} consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research datasets that highlight the steps followed and the means used across data management activities.",
|
"INTRO": "A Plan in {{ APP_NAME }} consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research datasets that highlight the steps followed and the means used across data management activities.",
|
||||||
"SECOND-INTRO": "Descriptions are documented following pre-defined templates which set the content of dataset descriptions. In {{ APP_NAME }}, a DMP can contain as many dataset descriptions as the datasets it documents.",
|
"SECOND-INTRO": "Descriptions are documented following pre-defined templates which set the content of dataset descriptions. In {{ APP_NAME }}, a DMP can contain as many dataset descriptions as the datasets it documents.",
|
||||||
"FIND": "Couldn't find a suitable one?",
|
"FIND": "Couldn't find a suitable one?",
|
||||||
"HINT": "Select a template to describe your descriptions. You may select more than one template."
|
"HINT": "Select a template to describe your descriptions. You may select more than one template."
|
||||||
|
@ -1322,7 +1322,7 @@
|
||||||
"DESCRIPTION": "Description",
|
"DESCRIPTION": "Description",
|
||||||
"PROFILE": "Template",
|
"PROFILE": "Template",
|
||||||
"URI": "Uri",
|
"URI": "Uri",
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"SELECT-DMP": "Select DMP",
|
"SELECT-DMP": "Select DMP",
|
||||||
"DATAREPOSITORIES": "Data Repositories",
|
"DATAREPOSITORIES": "Data Repositories",
|
||||||
"REGISTRIES": "Registries",
|
"REGISTRIES": "Registries",
|
||||||
|
@ -1386,7 +1386,7 @@
|
||||||
"SAVE": "Save"
|
"SAVE": "Save"
|
||||||
},
|
},
|
||||||
"FIRST-STEP": {
|
"FIRST-STEP": {
|
||||||
"TITLE": "DMP",
|
"TITLE": "Plan",
|
||||||
"PLACEHOLDER": "Pick an existing DMP"
|
"PLACEHOLDER": "Pick an existing DMP"
|
||||||
},
|
},
|
||||||
"PREFILL-STEP": {
|
"PREFILL-STEP": {
|
||||||
|
@ -1522,7 +1522,7 @@
|
||||||
},
|
},
|
||||||
"DATASET-PROFILE-INTERNAL-DMP-ENTITIES-TYPE": {
|
"DATASET-PROFILE-INTERNAL-DMP-ENTITIES-TYPE": {
|
||||||
"RESEARCHERS": "Researchers",
|
"RESEARCHERS": "Researchers",
|
||||||
"DMPS": "DMPs",
|
"DMPS": "Plans",
|
||||||
"DATASETS": "Datasets",
|
"DATASETS": "Datasets",
|
||||||
"EXTERNAL-SOURCE-HINT": "List of values provided by external source(s)"
|
"EXTERNAL-SOURCE-HINT": "List of values provided by external source(s)"
|
||||||
},
|
},
|
||||||
|
@ -1573,7 +1573,7 @@
|
||||||
},
|
},
|
||||||
"DMP-WIZARD": {
|
"DMP-WIZARD": {
|
||||||
"FIRST-STEP": {
|
"FIRST-STEP": {
|
||||||
"DMP": "DMP Editor",
|
"DMP": "Plan Editor",
|
||||||
"DATASETS": "Datasets"
|
"DATASETS": "Datasets"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
|
@ -1693,9 +1693,9 @@
|
||||||
"DASHBOARD": {
|
"DASHBOARD": {
|
||||||
"MY-GRANTS": "My Grants",
|
"MY-GRANTS": "My Grants",
|
||||||
"GRANTS": "Grants",
|
"GRANTS": "Grants",
|
||||||
"MY-DMPS": "My DMPs",
|
"MY-DMPS": "My Plans",
|
||||||
"TITLE": "What is {{ APP_NAME_CAPS }}?",
|
"TITLE": "What is {{ APP_NAME_CAPS }}?",
|
||||||
"DMP-QUESTION": "What is a DMP in {{ APP_NAME_CAPS }}?",
|
"DMP-QUESTION": "What is a Plan in {{ APP_NAME_CAPS }}?",
|
||||||
"INFO-TEXT": "{{ APP_NAME_CAPS }} is an open extensible service that simplifies the management, validation, monitoring and maintenance and of Data Management Plans. It allows actors (researchers, managers, supervisors etc) to create actionable DMPs that may be freely exchanged among infrastructures for carrying out specific aspects of the Data management process in accordance with the intentions and commitment of Data owners.",
|
"INFO-TEXT": "{{ APP_NAME_CAPS }} is an open extensible service that simplifies the management, validation, monitoring and maintenance and of Data Management Plans. It allows actors (researchers, managers, supervisors etc) to create actionable DMPs that may be freely exchanged among infrastructures for carrying out specific aspects of the Data management process in accordance with the intentions and commitment of Data owners.",
|
||||||
"INFO-DMP-TEXT": "A Data Management Plan (DMP) is a living document describing the datasets that are generated and/ or re-used during and after a research lifetime. DMPs aim to provide researchers with essential information to re-produce, re-distribute and re-purpose research results thus assuring for their validity and exploitation.",
|
"INFO-DMP-TEXT": "A Data Management Plan (DMP) is a living document describing the datasets that are generated and/ or re-used during and after a research lifetime. DMPs aim to provide researchers with essential information to re-produce, re-distribute and re-purpose research results thus assuring for their validity and exploitation.",
|
||||||
"NEW-QUESTION": "New with DMPs? Visit",
|
"NEW-QUESTION": "New with DMPs? Visit",
|
||||||
|
@ -1703,7 +1703,7 @@
|
||||||
"OPEN-AIR-GUIDE": "OpenAIRE’s Guide for Researchers",
|
"OPEN-AIR-GUIDE": "OpenAIRE’s Guide for Researchers",
|
||||||
"LEARN-MORE": "to learn more about how to create one!",
|
"LEARN-MORE": "to learn more about how to create one!",
|
||||||
"ORGANIZATIONS": "Related Organizations",
|
"ORGANIZATIONS": "Related Organizations",
|
||||||
"DMPS": "DMPs",
|
"DMPS": "Plans",
|
||||||
"MY-DATASETS": "My Datasets",
|
"MY-DATASETS": "My Datasets",
|
||||||
"DATASETS": "Datasets",
|
"DATASETS": "Datasets",
|
||||||
"SEARCH": "SEARCH...",
|
"SEARCH": "SEARCH...",
|
||||||
|
@ -1712,14 +1712,14 @@
|
||||||
"PUBLIC-USAGE": "Public Usage",
|
"PUBLIC-USAGE": "Public Usage",
|
||||||
"DESCRIPTIONS": "Descriptions",
|
"DESCRIPTIONS": "Descriptions",
|
||||||
"DATASET-DESCRIPTIONS-DASHBOARD-TEXT": "Descriptions",
|
"DATASET-DESCRIPTIONS-DASHBOARD-TEXT": "Descriptions",
|
||||||
"PUBLIC-DMPS": "Public DMPs",
|
"PUBLIC-DMPS": "Public Plans",
|
||||||
"PUBLIC-DATASETS": "Public Datasets",
|
"PUBLIC-DATASETS": "Public Datasets",
|
||||||
"RELATED-ORGANISATIONS": "Related Organizations",
|
"RELATED-ORGANISATIONS": "Related Organizations",
|
||||||
"DRAFTS": "Drafts",
|
"DRAFTS": "Drafts",
|
||||||
"ALL": "All",
|
"ALL": "All",
|
||||||
"EMPTY-LIST": "Nothing here yet.",
|
"EMPTY-LIST": "Nothing here yet.",
|
||||||
"LATEST-ACTIVITY": "Latest Activity",
|
"LATEST-ACTIVITY": "Latest Activity",
|
||||||
"DMP-ABOUT-BEG": "A DMP in {{ APP_NAME }} consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research entities, namely",
|
"DMP-ABOUT-BEG": "A Plan in {{ APP_NAME }} consists of key information about research, such as purpose, objectives and researchers involved, but also about documentation of research entities, namely",
|
||||||
"DMP-ABOUT-END": ", that highlight the steps followed and the means used across data management activities.",
|
"DMP-ABOUT-END": ", that highlight the steps followed and the means used across data management activities.",
|
||||||
"SELECT-DMP": "Select a DMP for your Dataset",
|
"SELECT-DMP": "Select a DMP for your Dataset",
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
|
@ -1728,7 +1728,7 @@
|
||||||
},
|
},
|
||||||
"TOUR-GUIDE": {
|
"TOUR-GUIDE": {
|
||||||
"DMP": "This is your dashboard. You can view and edit all DMPs that you have either contributed to or created yourself.",
|
"DMP": "This is your dashboard. You can view and edit all DMPs that you have either contributed to or created yourself.",
|
||||||
"START-NEW": "Create your DMP with Start new DMP.",
|
"START-NEW": "Create your Plan with Start new Plan.",
|
||||||
"IMPORT-DMP": "You can import a DMP",
|
"IMPORT-DMP": "You can import a DMP",
|
||||||
"START-WIZARD": "or create new in {{ APP_NAME }}.",
|
"START-WIZARD": "or create new in {{ APP_NAME }}.",
|
||||||
"DATASET": "This is your dashboard. You can view and edit all Datasets that you have either contributed to or created yourself.",
|
"DATASET": "This is your dashboard. You can view and edit all Datasets that you have either contributed to or created yourself.",
|
||||||
|
@ -1738,7 +1738,7 @@
|
||||||
},
|
},
|
||||||
"ADD-NEW-DATASET": {
|
"ADD-NEW-DATASET": {
|
||||||
"OPTIONS-NOT-ENOUGH": "Are those options not enough?",
|
"OPTIONS-NOT-ENOUGH": "Are those options not enough?",
|
||||||
"START-NEW-DMP": "Start new DMP"
|
"START-NEW-DMP": "Start new Plan"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"USER-DIALOG": {
|
"USER-DIALOG": {
|
||||||
|
@ -1869,7 +1869,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"DMP-FINALISE-DIALOG": {
|
"DMP-FINALISE-DIALOG": {
|
||||||
"DMP": "DMP",
|
"DMP": "Plan",
|
||||||
"DATASETS": "Datasets",
|
"DATASETS": "Datasets",
|
||||||
"EMPTY": "No Datasets for this DMP so far",
|
"EMPTY": "No Datasets for this DMP so far",
|
||||||
"SUBMIT": "Submit",
|
"SUBMIT": "Submit",
|
||||||
|
@ -1986,12 +1986,10 @@
|
||||||
},
|
},
|
||||||
"NEW-RELEASE-NOTIFICATION": {
|
"NEW-RELEASE-NOTIFICATION": {
|
||||||
"TITLE": "New ARGOS Release!",
|
"TITLE": "New ARGOS Release!",
|
||||||
"SUBTITLE": "Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum.",
|
"HINT": "Discover the all-new Argos version",
|
||||||
"SUBTITLE-WITH-PRE-LINK": "Check all the new features ",
|
"BODY": "Discover the latest enhancements and improvements with our brand-new Argos release! Use the Default Blueprint to create plans that include funders information. Contact us to create Blueprints for institutional plans that connect to local services or for training activities. Adopt the output management plan as an overarching plan that combines different templates, e.g. data and software. Don’t miss out – explore now!",
|
||||||
"SUBTITLE-WITH-AFTER-LINK": ".",
|
|
||||||
"SUBTITLE-LINK-TEXT": "here",
|
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"DISMISS": "Dismiss"
|
"LEARN-MORE": "Learn more"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
|
@ -90,3 +90,13 @@ h2.title{
|
||||||
.text-gray{
|
.text-gray{
|
||||||
color: $gray-color !important;
|
color: $gray-color !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
margin-left: 1rem;
|
||||||
|
border-left: .2em solid #dfe2e5;
|
||||||
|
padding-left: .5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight {
|
||||||
|
background-color: lightgoldenrodyellow;
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
<!doctype html>
|
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
|
|
Loading…
Reference in New Issue