invenio-app-rdm 13.0.1__py2.py3-none-any.whl → 14.0.0b0.dev2__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- invenio_app_rdm/__init__.py +1 -1
- invenio_app_rdm/administration/records/records.py +9 -7
- invenio_app_rdm/config.py +1 -0
- invenio_app_rdm/fixtures/pages.py +5 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html +2 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +8 -7
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html +5 -6
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html +9 -13
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html +1 -2
- invenio_app_rdm/records_ui/views/decorators.py +2 -1
- invenio_app_rdm/records_ui/views/deposits.py +10 -3
- invenio_app_rdm/records_ui/views/records.py +3 -11
- invenio_app_rdm/requests_ui/views/requests.py +4 -3
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js +8 -8
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +14 -16
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js +1 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +2 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js +15 -14
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js +4 -4
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +38 -40
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +5 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less +5 -3
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.overrides +7 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.variables +0 -0
- invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +76 -4
- {invenio_app_rdm-13.0.1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/METADATA +30 -100
- {invenio_app_rdm-13.0.1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/RECORD +32 -30
- {invenio_app_rdm-13.0.1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/WHEEL +0 -0
- {invenio_app_rdm-13.0.1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/entry_points.txt +0 -0
- {invenio_app_rdm-13.0.1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/licenses/LICENSE +0 -0
- {invenio_app_rdm-13.0.1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is part of InvenioRDM
|
|
2
|
-
// Copyright (C) 2020-
|
|
2
|
+
// Copyright (C) 2020-2025 CERN.
|
|
3
3
|
// Copyright (C) 2020-2021 Northwestern University.
|
|
4
4
|
// Copyright (C) 2021 Graz University of Technology.
|
|
5
5
|
// Copyright (C) 2023 TU Wien.
|
|
@@ -16,35 +16,28 @@ import { ExportDropdown } from "./ExportDropdown";
|
|
|
16
16
|
import { CommunitiesManagement } from "./CommunitiesManagement";
|
|
17
17
|
import Overridable, { OverridableContext, overrideStore } from "react-overridable";
|
|
18
18
|
|
|
19
|
-
const recordManagementAppDiv = document.getElementById("recordManagement");
|
|
20
|
-
const recordManagementMobile = document.getElementById("recordManagementMobile");
|
|
21
|
-
|
|
22
|
-
const recordVersionsAppDiv = document.getElementById("recordVersions");
|
|
23
|
-
const recordCitationAppDiv = document.getElementById("recordCitation");
|
|
24
|
-
const recordExportDownloadDiv = document.getElementById("recordExportDownload");
|
|
25
|
-
const sidebarCommunitiesManageDiv = document.getElementById(
|
|
26
|
-
"sidebar-communities-manage"
|
|
27
|
-
);
|
|
28
|
-
|
|
29
19
|
const overriddenComponents = overrideStore.getAll();
|
|
30
20
|
|
|
21
|
+
const recordManagementAppDiv = document.getElementById("recordManagement");
|
|
22
|
+
const recordManagementMobile = document.getElementById("recordManagementMobile");
|
|
31
23
|
if (recordManagementAppDiv) {
|
|
32
24
|
renderRecordManagement(recordManagementAppDiv);
|
|
33
25
|
recordManagementMobile && renderRecordManagement(recordManagementMobile);
|
|
34
26
|
}
|
|
35
27
|
|
|
36
28
|
function renderRecordManagement(element) {
|
|
29
|
+
const record = JSON.parse(recordManagementAppDiv.dataset.record);
|
|
37
30
|
ReactDOM.render(
|
|
38
31
|
<OverridableContext.Provider value={overriddenComponents}>
|
|
39
32
|
<RecordManagement
|
|
40
|
-
record={
|
|
33
|
+
record={record}
|
|
41
34
|
permissions={JSON.parse(recordManagementAppDiv.dataset.permissions)}
|
|
42
35
|
isDraft={JSON.parse(recordManagementAppDiv.dataset.isDraft)}
|
|
43
36
|
isPreviewSubmissionRequest={JSON.parse(
|
|
44
37
|
recordManagementAppDiv.dataset.isPreviewSubmissionRequest
|
|
45
38
|
)}
|
|
46
39
|
currentUserId={recordManagementAppDiv.dataset.currentUserId}
|
|
47
|
-
recordOwnerID={
|
|
40
|
+
recordOwnerID={record.parent.access.owned_by.user}
|
|
48
41
|
groupsEnabled={JSON.parse(recordManagementAppDiv.dataset.groupsEnabled)}
|
|
49
42
|
/>
|
|
50
43
|
</OverridableContext.Provider>,
|
|
@@ -52,6 +45,7 @@ function renderRecordManagement(element) {
|
|
|
52
45
|
);
|
|
53
46
|
}
|
|
54
47
|
|
|
48
|
+
const recordVersionsAppDiv = document.getElementById("recordVersions");
|
|
55
49
|
if (recordVersionsAppDiv) {
|
|
56
50
|
ReactDOM.render(
|
|
57
51
|
<RecordVersionsList
|
|
@@ -62,10 +56,11 @@ if (recordVersionsAppDiv) {
|
|
|
62
56
|
);
|
|
63
57
|
}
|
|
64
58
|
|
|
59
|
+
const recordCitationAppDiv = document.getElementById("recordCitation");
|
|
65
60
|
if (recordCitationAppDiv) {
|
|
66
61
|
ReactDOM.render(
|
|
67
62
|
<RecordCitationField
|
|
68
|
-
|
|
63
|
+
recordLinks={JSON.parse(recordCitationAppDiv.dataset.recordLinks)}
|
|
69
64
|
styles={JSON.parse(recordCitationAppDiv.dataset.styles)}
|
|
70
65
|
defaultStyle={JSON.parse(recordCitationAppDiv.dataset.defaultstyle)}
|
|
71
66
|
includeDeleted={JSON.parse(recordCitationAppDiv.dataset.includeDeleted)}
|
|
@@ -74,6 +69,7 @@ if (recordCitationAppDiv) {
|
|
|
74
69
|
);
|
|
75
70
|
}
|
|
76
71
|
|
|
72
|
+
const recordExportDownloadDiv = document.getElementById("recordExportDownload");
|
|
77
73
|
if (recordExportDownloadDiv) {
|
|
78
74
|
ReactDOM.render(
|
|
79
75
|
<ExportDropdown formats={JSON.parse(recordExportDownloadDiv.dataset.formats)} />,
|
|
@@ -81,44 +77,46 @@ if (recordExportDownloadDiv) {
|
|
|
81
77
|
);
|
|
82
78
|
}
|
|
83
79
|
|
|
80
|
+
const sidebarCommunitiesManageDiv = document.getElementById(
|
|
81
|
+
"sidebar-communities-manage"
|
|
82
|
+
);
|
|
84
83
|
if (sidebarCommunitiesManageDiv) {
|
|
84
|
+
const userCommunitiesMemberships = JSON.parse(
|
|
85
|
+
sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
|
|
86
|
+
);
|
|
87
|
+
const recordCommunityEndpoint =
|
|
88
|
+
sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint;
|
|
85
89
|
const recordCommunitySearchConfig = JSON.parse(
|
|
86
90
|
sidebarCommunitiesManageDiv.dataset.recordCommunitySearchConfig
|
|
87
91
|
);
|
|
88
|
-
const
|
|
89
|
-
sidebarCommunitiesManageDiv.dataset.
|
|
92
|
+
const recordUserCommunitySearchConfig = JSON.parse(
|
|
93
|
+
sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
|
|
94
|
+
);
|
|
95
|
+
const pendingCommunitiesSearchConfig = JSON.parse(
|
|
96
|
+
sidebarCommunitiesManageDiv.dataset.pendingCommunitiesSearchConfig
|
|
97
|
+
);
|
|
98
|
+
const permissions = JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions);
|
|
99
|
+
const record = JSON.parse(sidebarCommunitiesManageDiv.dataset.record);
|
|
90
100
|
ReactDOM.render(
|
|
91
101
|
<OverridableContext.Provider value={overriddenComponents}>
|
|
92
102
|
<Overridable
|
|
93
103
|
id="InvenioAppRdm.RecordLandingPage.CommunitiesManagement.container"
|
|
94
|
-
userCommunitiesMemberships={
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
recordCommunityEndpoint={
|
|
98
|
-
sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint
|
|
99
|
-
}
|
|
100
|
-
recordUserCommunitySearchConfig={JSON.parse(
|
|
101
|
-
sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
|
|
102
|
-
)}
|
|
104
|
+
userCommunitiesMemberships={userCommunitiesMemberships}
|
|
105
|
+
recordCommunityEndpoint={recordCommunityEndpoint}
|
|
106
|
+
recordUserCommunitySearchConfig={recordUserCommunitySearchConfig}
|
|
103
107
|
recordCommunitySearchConfig={recordCommunitySearchConfig}
|
|
104
|
-
permissions={
|
|
105
|
-
searchConfig={
|
|
106
|
-
record={
|
|
108
|
+
permissions={permissions}
|
|
109
|
+
searchConfig={pendingCommunitiesSearchConfig}
|
|
110
|
+
record={record}
|
|
107
111
|
>
|
|
108
112
|
<CommunitiesManagement
|
|
109
|
-
userCommunitiesMemberships={
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
recordCommunityEndpoint={
|
|
113
|
-
sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint
|
|
114
|
-
}
|
|
115
|
-
recordUserCommunitySearchConfig={JSON.parse(
|
|
116
|
-
sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
|
|
117
|
-
)}
|
|
113
|
+
userCommunitiesMemberships={userCommunitiesMemberships}
|
|
114
|
+
recordCommunityEndpoint={recordCommunityEndpoint}
|
|
115
|
+
recordUserCommunitySearchConfig={recordUserCommunitySearchConfig}
|
|
118
116
|
recordCommunitySearchConfig={recordCommunitySearchConfig}
|
|
119
|
-
permissions={
|
|
120
|
-
searchConfig={
|
|
121
|
-
record={
|
|
117
|
+
permissions={permissions}
|
|
118
|
+
searchConfig={pendingCommunitiesSearchConfig}
|
|
119
|
+
record={record}
|
|
122
120
|
/>
|
|
123
121
|
</Overridable>
|
|
124
122
|
</OverridableContext.Provider>,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is part of InvenioRDM
|
|
2
|
-
// Copyright (C) 2020-
|
|
2
|
+
// Copyright (C) 2020-2025 CERN.
|
|
3
3
|
// Copyright (C) 2020-2021 Northwestern University.
|
|
4
4
|
// Copyright (C) 2021 Graz University of Technology.
|
|
5
5
|
//
|
|
@@ -32,7 +32,7 @@ $(".dropdown.export").dropdown({
|
|
|
32
32
|
},
|
|
33
33
|
});
|
|
34
34
|
|
|
35
|
-
const $licensesPopup = $("#licenses
|
|
35
|
+
const $licensesPopup = $("#licenses .has-popup .license.clickable");
|
|
36
36
|
|
|
37
37
|
// Licenses description popup
|
|
38
38
|
$licensesPopup.popup({
|
|
@@ -49,18 +49,18 @@ $licensesPopup.popup({
|
|
|
49
49
|
|
|
50
50
|
$licensesPopup.on("keydown", function (event) {
|
|
51
51
|
if (event.key === "Enter") {
|
|
52
|
-
$
|
|
52
|
+
$licensesPopup.popup("hide");
|
|
53
53
|
$(event.target).popup("show");
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
$("#licenses .licenses-description .close.icon").on({
|
|
58
58
|
click: function () {
|
|
59
|
-
$
|
|
59
|
+
$licensesPopup.popup("hide");
|
|
60
60
|
},
|
|
61
61
|
keydown: function (event) {
|
|
62
62
|
if (event.key === "Enter") {
|
|
63
|
-
$
|
|
63
|
+
$licensesPopup.popup("hide");
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright (C) 2020-
|
|
2
|
+
* Copyright (C) 2020-2025 CERN.
|
|
3
3
|
* Copyright (C) 2020 Northwestern University.
|
|
4
4
|
* Copyright (C) 2021 Graz University of Technology.
|
|
5
5
|
* Copyright (C) 2021 New York University.
|
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
* it under the terms of the MIT License; see LICENSE file for more details.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
#licenses ul.details-list
|
|
11
|
+
#licenses ul.details-list,
|
|
12
|
+
#licenses dl.details-list {
|
|
12
13
|
list-style-type: none;
|
|
13
14
|
|
|
14
|
-
li
|
|
15
|
+
li,
|
|
16
|
+
dd {
|
|
15
17
|
margin: .5rem 0;
|
|
16
18
|
|
|
17
19
|
&:first-child {
|
|
File without changes
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2023-
|
|
3
|
+
# Copyright (C) 2023-2025 CERN.
|
|
4
4
|
# Copyright (C) 2024-2025 Graz University of Technology.
|
|
5
|
+
# Copyright (C) 2025 Northwestern University.
|
|
5
6
|
#
|
|
6
7
|
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
7
8
|
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
8
9
|
|
|
9
|
-
"""Record migration script from InvenioRDM
|
|
10
|
+
"""Record migration script from InvenioRDM 12.0 to 13.0.
|
|
10
11
|
|
|
11
12
|
Disclaimer: This script is intended to be executed *only once*, namely when
|
|
12
|
-
upgrading from InvenioRDM
|
|
13
|
+
upgrading from InvenioRDM 12.0 to 13.0!
|
|
13
14
|
If this script is executed at any other time, probably the best case scenario
|
|
14
15
|
is that nothing happens!
|
|
15
16
|
|
|
@@ -20,11 +21,17 @@ This script has been tested with following data:
|
|
|
20
21
|
- internal_notes
|
|
21
22
|
"""
|
|
22
23
|
|
|
24
|
+
import sys
|
|
25
|
+
import traceback
|
|
26
|
+
|
|
23
27
|
from click import secho
|
|
24
28
|
from invenio_access.permissions import system_identity
|
|
25
29
|
from invenio_db import db
|
|
26
30
|
from invenio_rdm_records.proxies import current_rdm_records_service as records_service
|
|
27
31
|
from invenio_search.engine import dsl
|
|
32
|
+
from invenio_vocabularies.contrib.affiliations.api import Affiliation
|
|
33
|
+
from invenio_vocabularies.contrib.names.api import Name
|
|
34
|
+
from sqlalchemy import select
|
|
28
35
|
|
|
29
36
|
|
|
30
37
|
def run_upgrade(has, migrate):
|
|
@@ -113,12 +120,75 @@ def run_upgrade_for_thesis():
|
|
|
113
120
|
secho("Thesis upgrade has finished.", fg="green")
|
|
114
121
|
|
|
115
122
|
|
|
123
|
+
def run_upgrade_for_affiliations():
|
|
124
|
+
"""Update affiliations entry so that they conform to new shape."""
|
|
125
|
+
secho("Affiliations upgrade has started.", fg="green")
|
|
126
|
+
|
|
127
|
+
error = False
|
|
128
|
+
# Batch intake to limit memory usage
|
|
129
|
+
stmt = select(Affiliation.model_cls).execution_options(yield_per=250)
|
|
130
|
+
|
|
131
|
+
for affiliation_model in db.session.scalars(stmt):
|
|
132
|
+
try:
|
|
133
|
+
data_for_affiliation = affiliation_model.data
|
|
134
|
+
data_for_affiliation.pop("id", None)
|
|
135
|
+
data_for_affiliation.pop("pid", None)
|
|
136
|
+
affiliation = Affiliation(data_for_affiliation, model=affiliation_model)
|
|
137
|
+
affiliation.commit()
|
|
138
|
+
except Exception as e:
|
|
139
|
+
secho(f"Migration failed with '{repr(e)}'.", fg="red")
|
|
140
|
+
secho(f"Affiliation {affiliation_model.pid} failed to update", fg="red")
|
|
141
|
+
trace = traceback.format_exc()
|
|
142
|
+
secho(f"Traceback {trace}", fg="red")
|
|
143
|
+
error = True
|
|
144
|
+
break
|
|
145
|
+
|
|
146
|
+
if error:
|
|
147
|
+
db.session.rollback()
|
|
148
|
+
secho("Affiliations upgrade failed.", fg="red")
|
|
149
|
+
sys.exit(1)
|
|
150
|
+
else:
|
|
151
|
+
db.session.commit()
|
|
152
|
+
secho("Affiliations upgrade succeeded.", fg="green")
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def run_upgrade_for_names():
|
|
156
|
+
"""Update names entry so that they conform to new shape."""
|
|
157
|
+
secho("Names upgrade has started.", fg="green")
|
|
158
|
+
|
|
159
|
+
error = False
|
|
160
|
+
# Batch intake to limit memory usage
|
|
161
|
+
stmt = select(Name.model_cls).execution_options(yield_per=250)
|
|
162
|
+
|
|
163
|
+
for name_model in db.session.scalars(stmt):
|
|
164
|
+
try:
|
|
165
|
+
data_for_name = name_model.data
|
|
166
|
+
data_for_name.pop("id", None)
|
|
167
|
+
data_for_name.pop("pid", None)
|
|
168
|
+
name = Name(data_for_name, model=name_model)
|
|
169
|
+
name.commit()
|
|
170
|
+
except Exception as e:
|
|
171
|
+
secho(f"Migration failed with '{repr(e)}'.", fg="red")
|
|
172
|
+
secho(f"Name {name_model.pid} failed to update", fg="red")
|
|
173
|
+
trace = traceback.format_exc()
|
|
174
|
+
secho(f"Traceback {trace}", fg="red")
|
|
175
|
+
error = True
|
|
176
|
+
break
|
|
177
|
+
|
|
178
|
+
if error:
|
|
179
|
+
db.session.rollback()
|
|
180
|
+
secho("Names upgrade failed.", fg="red")
|
|
181
|
+
sys.exit(1)
|
|
182
|
+
else:
|
|
183
|
+
db.session.commit()
|
|
184
|
+
secho("Names upgrade succeeded.", fg="green")
|
|
185
|
+
|
|
186
|
+
|
|
116
187
|
def execute_upgrade():
|
|
117
188
|
"""Execute the upgrade from InvenioRDM 12.0 to 13.0.0.
|
|
118
189
|
|
|
119
190
|
Please read the disclaimer on this module before thinking about executing
|
|
120
191
|
this function!
|
|
121
|
-
THIS MODULE IS WORK IN PROGRESS, UNTIL official v13 release
|
|
122
192
|
|
|
123
193
|
NOTE:
|
|
124
194
|
since the data upgrade steps are more selective now, the approach how to do
|
|
@@ -131,6 +201,8 @@ def execute_upgrade():
|
|
|
131
201
|
secho("Starting data migration...", fg="green")
|
|
132
202
|
|
|
133
203
|
run_upgrade_for_thesis()
|
|
204
|
+
run_upgrade_for_affiliations()
|
|
205
|
+
run_upgrade_for_names()
|
|
134
206
|
|
|
135
207
|
|
|
136
208
|
# if the script is executed on its own, perform the upgrade
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invenio-app-rdm
|
|
3
|
-
Version:
|
|
3
|
+
Version: 14.0.0b0.dev2
|
|
4
4
|
Summary: Invenio Research Data Management.
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-app-rdm
|
|
6
6
|
Author: CERN
|
|
@@ -40,13 +40,13 @@ Requires-Dist: invenio-search-ui<5.0.0,>=4.0.0
|
|
|
40
40
|
Requires-Dist: invenio-files-rest<4.0.0,>=3.0.0
|
|
41
41
|
Requires-Dist: invenio-previewer<4.0.0,>=3.0.0
|
|
42
42
|
Requires-Dist: invenio-records-files<2.0.0,>=1.2.1
|
|
43
|
-
Requires-Dist: invenio-collections<
|
|
44
|
-
Requires-Dist: invenio-communities<
|
|
45
|
-
Requires-Dist: invenio-rdm-records<
|
|
43
|
+
Requires-Dist: invenio-collections<2.0.0,>=1.0.0
|
|
44
|
+
Requires-Dist: invenio-communities<21.0.0,>=20.0.0
|
|
45
|
+
Requires-Dist: invenio-rdm-records<21.0.0,>=20.0.0
|
|
46
46
|
Requires-Dist: CairoSVG<3.0.0,>=2.5.2
|
|
47
47
|
Requires-Dist: invenio-banners<6.0.0,>=5.0.0
|
|
48
48
|
Requires-Dist: invenio-pages<8.0.0,>=7.0.0
|
|
49
|
-
Requires-Dist: invenio-audit-logs<1.0.0,>=0.
|
|
49
|
+
Requires-Dist: invenio-audit-logs<1.0.0,>=0.3.0
|
|
50
50
|
Requires-Dist: invenio-sitemap<2.0.0,>=0.1.0
|
|
51
51
|
Provides-Extra: tests
|
|
52
52
|
Requires-Dist: pytest-black-ng>=0.4.0; extra == "tests"
|
|
@@ -101,101 +101,31 @@ https://inveniordm.docs.cern.ch
|
|
|
101
101
|
Changes
|
|
102
102
|
=======
|
|
103
103
|
|
|
104
|
-
Version
|
|
105
|
-
|
|
106
|
-
- fix(
|
|
107
|
-
*
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
- ui: log serialization exceptions
|
|
130
|
-
|
|
131
|
-
Version v13.0.0rc6 (released 2025-07-21)
|
|
132
|
-
|
|
133
|
-
- fix: package.json and package-lock mismatch
|
|
134
|
-
|
|
135
|
-
Version v13.0.0rc5 (released 2025-07-17)
|
|
136
|
-
|
|
137
|
-
- migration: optimize script
|
|
138
|
-
- upgrade_scripts: handle thesis custom field migration
|
|
139
|
-
- version: bumped invenio-s3 version to include multipart upload
|
|
140
|
-
- templates: macros: doi: Add copy button for DOIs
|
|
141
|
-
- semantic-ui: components: CopyButton: add size prop
|
|
142
|
-
- semantic-ui: landing_page: ExportButton: Add copy button
|
|
143
|
-
- semantic-ui: componenets: add url fetching in copy button
|
|
144
|
-
- semantic-ui: landing_page: add click event for cite all versions
|
|
145
|
-
|
|
146
|
-
Version v13.0.0rc4 (released 2025-07-10)
|
|
147
|
-
|
|
148
|
-
- pid-config: cast to bool RDM_(PARENT)_PERSISTENT_IDENTIFIERS required check
|
|
149
|
-
- fix: default parent_doi_required to False
|
|
150
|
-
- links: update doc links to updated ones
|
|
151
|
-
- i18n: localize DOI labels
|
|
152
|
-
- css: remove .invenio-accordion-field qualifier
|
|
153
|
-
- css: use SemanticUI variables and fix class names
|
|
154
|
-
- ui: ensure accordion caret icons rotate when opened/closed
|
|
155
|
-
- config: add Data Package export format
|
|
156
|
-
|
|
157
|
-
Version v13.0.0rc3 (released 2025-07-02)
|
|
158
|
-
|
|
159
|
-
- deposit-ui: uppy uploader ui feature
|
|
160
|
-
- i18n: run js compile_catalog
|
|
161
|
-
- i18n: run js extract msgs
|
|
162
|
-
- i18n: components.js replace Trans with i18next comp
|
|
163
|
-
- i18n: RemoveFromCommunityAction replace Trans with i18next comp
|
|
164
|
-
- i18n: RecordVersionList replace Trans with i18next comp
|
|
165
|
-
- i18n: ImpersonateUserForm replace Trans with i18next comp
|
|
166
|
-
- i18n: CommunityRecordsSearchAppLayout replace Trans with i18next comp
|
|
167
|
-
- chore: replace en dash (–) with ASCII dash (-) in source files
|
|
168
|
-
- i18n: refactor compileCatalog script
|
|
169
|
-
- i18n: Force pull languages
|
|
170
|
-
- i18n: extract py msgs
|
|
171
|
-
|
|
172
|
-
Version v13.0.0rc2 (released 2025-06-24)
|
|
173
|
-
|
|
174
|
-
- communities-ui: pass serialized `community_ui` to Jinja templates
|
|
175
|
-
- config: add Celery beat schedule for updating collections size
|
|
176
|
-
- admin: always show users admin panel
|
|
177
|
-
- fix: pass severityChecks to CustomFields
|
|
178
|
-
|
|
179
|
-
Version v13.0.0rc1 (released 2025-06-13)
|
|
180
|
-
|
|
181
|
-
- feat(ui): automatic checks for communities (feature flag)
|
|
182
|
-
- feat(ui): FAIR signposting
|
|
183
|
-
- feat(ui): collections
|
|
184
|
-
- feat(ui): records/requests sharing
|
|
185
|
-
- feat(api): multipart file upload over the API
|
|
186
|
-
- feat(admin): jobs to wrap task in the administration interface (feature flag)
|
|
187
|
-
- feat(admin): compare revisions between different records revisions
|
|
188
|
-
- feat(admin): audit logs (feature flag)
|
|
189
|
-
- feat(api): sitemap
|
|
190
|
-
- i18n: option to create translation bundles for python and javascript
|
|
191
|
-
- impr(metadata): thesis handling
|
|
192
|
-
- impr(ui): Mathjax usage
|
|
193
|
-
- impr(ui): visualization of validation errors
|
|
194
|
-
- conf: make it possible to configure DOI as optional
|
|
195
|
-
- remove: invenio-admin dependency
|
|
196
|
-
- maint: upgrade to flask>=3.0
|
|
197
|
-
- maint: upgrade to sqlalchemy>=2.0
|
|
198
|
-
- dev: configurable use of new tools: uv, rspack, pnpm
|
|
104
|
+
Version v14.0.0b0.dev2 (released 2025-08-08)
|
|
105
|
+
|
|
106
|
+
- fix(views): use correct community value
|
|
107
|
+
* After the change in 33f1b0d2, values passed to the UI or used for
|
|
108
|
+
accessing UI-related attributes (e.g. the "theme"), must come from
|
|
109
|
+
the community UI-serialized value instead of the service result item.
|
|
110
|
+
- fix(pages): add community base template as a valid option
|
|
111
|
+
- feat(fixtures): allow specifying `template_name` in page fixtures
|
|
112
|
+
- ui: refactor record injecting in JS components
|
|
113
|
+
- inject only record links in citations cmps
|
|
114
|
+
- remove dependency between citations and communities cmps which
|
|
115
|
+
they were sharing the same record injection
|
|
116
|
+
- fix(deposits): pass missing community_ui to community theme templates
|
|
117
|
+
* also introduce more explicit distinctions between community and
|
|
118
|
+
community_ui variables
|
|
119
|
+
- UI: set order of entries and rename category to deposits
|
|
120
|
+
- UI: make external resources section consistent with details
|
|
121
|
+
- UI: make rights section consistent with details
|
|
122
|
+
|
|
123
|
+
Version v14.0.0b0.dev1 (released 2025-08-01)
|
|
124
|
+
|
|
125
|
+
- setup: bump invenio-communities and invenio-rdm-records
|
|
126
|
+
- theme: add search overrides for reviewers search results
|
|
127
|
+
- requests: add request action_accept permissions to UI
|
|
128
|
+
- theme: update package-lock.json for compiling catalog for frontend tests
|
|
199
129
|
|
|
200
130
|
Version v13.0.0b4.dev2 (released 2025-06-13)
|
|
201
131
|
|