From 74ea5313413733f39f63a3ee0fcbdef4f3db3f19 Mon Sep 17 00:00:00 2001 From: alw-bsz Date: Thu, 19 Dec 2024 15:03:53 +0100 Subject: [PATCH 1/4] #1266 Fixing import of Crossref records without authors --- public/layouts/opus4/js/getDoi.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/layouts/opus4/js/getDoi.js b/public/layouts/opus4/js/getDoi.js index d57e0656d..d995ff66b 100644 --- a/public/layouts/opus4/js/getDoi.js +++ b/public/layouts/opus4/js/getDoi.js @@ -279,7 +279,7 @@ function expandAuthor(author) document.getElementById("Enrichmentopus_doi_flag").value = "true"; // Hier wird das Ende der Reloads erreicht! (alle Felder sind vorhanden) } } else { - colorPink("PersonAuthorLastName_1"); + document.getElementById("Enrichmentopus_doi_flag").value = "true"; // Sonst den Import ohne Autor abschließen } } From 5dd11a0c6f6681d76a6f41ac40833c7108f9c334 Mon Sep 17 00:00:00 2001 From: alw-bsz Date: Fri, 20 Dec 2024 11:32:21 +0100 Subject: [PATCH 2/4] #1266: Adjusting code, fixes use of wrong variable "author" while processing translator --- public/layouts/opus4/js/getDoi.js | 66 +++++++++++++++---------------- 1 file changed, 31 insertions(+), 35 deletions(-) diff --git a/public/layouts/opus4/js/getDoi.js b/public/layouts/opus4/js/getDoi.js index d995ff66b..8606501c9 100644 --- a/public/layouts/opus4/js/getDoi.js +++ b/public/layouts/opus4/js/getDoi.js @@ -6,20 +6,20 @@ let populatedFields = []; function startCheck() { var doi = document.getElementById("IdentifierDoi").value.trim(); - if (doi.trim() == '') { + if (doi.trim() === '') { // Feld "IdentifierDoi" ist leer - alert("Bitte zuerst eine DOI eingeben...") - } else if (doi.trim() != '' && document.getElementById("Enrichmentopus_doi_flag").value != "true") { + alert("Bitte zuerst eine DOI eingeben..."); + } else if (doi.trim() !== '' && document.getElementById("Enrichmentopus_doi_flag").value !== "true") { // OK, starte Import - leseDoi(doi) - } else if (doi.trim() != '' && document.getElementById("Enrichmentopus_doi_flag").value == "true") { + leseDoi(doi); + } else if (doi.trim() !== '' && document.getElementById("Enrichmentopus_doi_flag").value === "true") { // Import wurde bereits durchgeführt -> Bestätigung if (confirm("Achtung, alle Felder des Formulars werden gelöscht und ein neuer Import gestartet! Fortfahren?")) { cleanup(); document.getElementById("IdentifierDoi").value = doi; leseDoi(doi); } else { - return + return; } } } @@ -44,7 +44,7 @@ function leseDoi(doi) { // Diese Funktion wird beim Klick auf den Button "DOI-Daten übernehmen" aufgerufen und steuert alles Weitere - if (doi.trim() != '') { + if (doi.trim() !== '') { var getUrl = window.location; const baseUrl = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1]; @@ -54,9 +54,9 @@ function leseDoi(doi) finalUrl, function () { var jsonraw = this.responseText; - if (jsonraw == "Resource not found.") { + if (jsonraw === "Resource not found.") { alert("DOI wurde nicht in Crossref gefunden."); - colorOrange("IdentifierDoi") + colorOrange("IdentifierDoi"); } else { // document.getElementById("Enrichmentlocal_doiJson").value = jsonraw; document.getElementById("Enrichmentopus_import_data").value = jsonraw; @@ -143,7 +143,7 @@ function expandCompletedDate(dates) { // Für CompletedYear und CompletedDate - if (dates != '' && dates.length > 2) { // = Wenn überhaupt ein Jahr enthalten ist + if (dates !== '' && dates.length > 2) { // = Wenn überhaupt ein Jahr enthalten ist date = dates.join(); @@ -169,13 +169,13 @@ function expandCompletedDate(dates) function expandSubject(subject) { - if (subject[0] != undefined) { + if (subject[0] !== undefined) { var _laenge = subject.length; var schlagwort = subject[0] + ''; document.getElementById("SubjectUncontrolled_1").value = schlagwort; finalize("SubjectUncontrolled_1"); - if (document.getElementById('SubjectUncontrolled_' + _laenge) == null) { + if (document.getElementById('SubjectUncontrolled_' + _laenge) === null) { var button = document.getElementById("addMoreSubjectUncontrolled"); button.click(); } else { @@ -194,7 +194,7 @@ function expandSubject(subject) function expandThesisAccepted(dates) { - if (dates != '' && dates.length > 2) { // = Wenn überhaupt ein Jahr enthalten ist + if (dates !== '' && dates.length > 2) { // = Wenn überhaupt ein Jahr enthalten ist date = dates.join(); if (date.includes('-')) { @@ -202,10 +202,10 @@ function expandThesisAccepted(dates) finalize("ThesisYearAccepted"); } else { var month = date.split(',')[1]; - if (month.length == 1) { + if (month.length === 1) { month = '0' + month;} var day = date.split(',')[2]; - if (day.length == 1) { + if (day.length === 1) { day = '0' + day;} document.getElementById("ThesisDateAccepted").value = day + '.' + month + '.' + date.split(',')[0]; finalize("ThesisDateAccepted"); @@ -220,15 +220,15 @@ function expandPages(page) var pageFirst = pages[0]; var pageLast = pages[1]; var pageNumber = pageLast - pageFirst + 1; - if (pageNumber != undefined && /^\d+$/.test(pageNumber)) { + if (pageNumber !== undefined && /^\d+$/.test(pageNumber)) { document.getElementById("PageNumber").value = pageNumber; finalize("PageNumber"); } - if (pageFirst != undefined && /^\d+$/.test(pageFirst)) { + if (pageFirst !== undefined && /^\d+$/.test(pageFirst)) { document.getElementById("PageFirst").value = pageFirst; finalize("PageFirst"); } - if (pageLast != undefined && /^\d+$/.test(pageLast)) { + if (pageLast !== undefined && /^\d+$/.test(pageLast)) { document.getElementById("PageLast").value = pageLast; finalize("PageLast"); } @@ -238,7 +238,7 @@ function expandPages(page) function expandAuthor(author) { - if (author[0] != undefined) { + if (author[0] !== undefined) { var _laenge = author.length; var completeName = author[0] + ''; @@ -250,13 +250,13 @@ function expandAuthor(author) document.getElementById("PersonAuthorLastName_1").value = nachname; finalize("PersonAuthorLastName_1"); - if (completeName.split(',')[2].trim() != '') { + if (completeName.split(',')[2].trim() !== '') { var orcid = completeName.split(',')[2].trim(); // [2] = ORCID document.getElementById("PersonAuthorIdentifierOrcid_1").value = orcid; finalize("PersonAuthorIdentifierOrcid_1"); } - if (document.getElementById('PersonAuthorLastName_' + _laenge) == null) { + if (document.getElementById('PersonAuthorLastName_' + _laenge) === null) { var button = document.getElementById("addMorePersonAuthor"); button.click(); } else { @@ -270,7 +270,7 @@ function expandAuthor(author) var nachname = completeName.split(',')[0].trim(); // [0] = Nachname document.getElementById("PersonAuthorLastName_" + feld).value = nachname; finalize("PersonAuthorLastName_" + feld); - if (completeName.split(',')[2].trim() != '') { + if (completeName.split(',')[2].trim() !== '') { var orcid = completeName.split(',')[2].trim(); // [2] = ORCID document.getElementById("PersonAuthorIdentifierOrcid_" + feld).value = orcid; finalize("PersonAuthorIdentifierOrcid_" + feld); @@ -285,7 +285,7 @@ function expandAuthor(author) function expandEditor(editor) { - if (editor[0] != undefined) { + if (editor[0] !== undefined) { var _laenge = editor.length; var completeName = editor[0] + ''; var vorname = completeName.split(',')[1].trim(); // [1] = Vorname @@ -294,13 +294,13 @@ function expandEditor(editor) var nachname = completeName.split(',')[0].trim(); // [0] = Nachname document.getElementById("PersonEditorLastName_1").value = nachname; finalize("PersonEditorLastName_1"); - if (completeName.split(',')[2].trim() != '') { + if (completeName.split(',')[2].trim() !== '') { var orcid = completeName.split(',')[2].trim(); // [2] = ORCID document.getElementById("PersonEditorIdentifierOrcid_1").value = orcid; finalize("PersonEditorIdentifierOrcid_1"); } - if (document.getElementById('PersonEditorLastName_' + _laenge) == null) { + if (document.getElementById('PersonEditorLastName_' + _laenge) === null) { var button = document.getElementById("addMorePersonEditor"); button.click(); } else { @@ -314,7 +314,7 @@ function expandEditor(editor) var nachname = completeName.split(',')[0].trim(); // [0] = Nachname document.getElementById("PersonEditorLastName_" + feld).value = nachname; finalize("PersonEditorLastName_" + feld); - if (completeName.split(',')[2].trim() != '') { + if (completeName.split(',')[2].trim() !== '') { var orcid = completeName.split(',')[2].trim(); // [2] = ORCID document.getElementById("PersonEditorIdentifierOrcid_" + feld).value = orcid; finalize("PersonEditorIdentifierOrcid_" + feld); @@ -326,7 +326,7 @@ function expandEditor(editor) function expandTranslator(translator) { - if (translator[0] != undefined) { + if (translator[0] !== undefined) { var _laenge = translator.length; var completeName = translator[0] + ''; var vorname = completeName.split(',')[1].trim(); // [1] = Vorname @@ -338,14 +338,14 @@ function expandTranslator(translator) document.getElementById("PersonTranslatorLastName_1").value = nachname; finalize("PersonTranslatorLastName_1"); - if (document.getElementById('PersonTranslatorLastName_' + _laenge) == null) { + if (document.getElementById('PersonTranslatorLastName_' + _laenge) === null) { var button = document.getElementById("addMorePersonTranslator"); button.click(); } else { var _z; for (_z = 1; _z < _laenge; _z++) { var feld = _z + 1; - var completeName = author[_z] + ''; + var completeName = translator[_z] + ''; var vorname = completeName.split(',')[1].trim(); // [1] = Vorname document.getElementById("PersonTranslatorFirstName_" + feld).value = vorname; finalize("PersonTranslatorFirstName_" + feld); @@ -364,7 +364,7 @@ function get(url, callback) var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.onreadystatechange = function () { - if (xhr.readyState == 4) { + if (xhr.readyState === 4) { // defensive check if (typeof callback === "function") { callback.apply(xhr); @@ -399,7 +399,7 @@ var crossrefTypeMapping = { "book-track": "sound", "posted-content/working_paper": "workingpaper", "dissertation": "doctoralthesis" -} +}; /** * @@ -471,7 +471,3 @@ async function getDoctypes(data) } ); } - - - - From 5e8472a0887a8267d5475ea107ce04a0810a27d3 Mon Sep 17 00:00:00 2001 From: j3nsch Date: Tue, 14 Jan 2025 15:04:31 +0100 Subject: [PATCH 3/4] Removed PHP 7.4 from testing --- .github/workflows/php.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index 8a239f821..8a8ffaecb 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -16,7 +16,7 @@ jobs: strategy: matrix: - php-versions: ['7.1', '7.4', '8.1'] + php-versions: ['7.1', '8.1'] fail-fast: false name: PHP ${{ matrix.php-versions }} Test From 164f7d58b269ad9f182503439786ebbc1e62d311 Mon Sep 17 00:00:00 2001 From: j3nsch Date: Tue, 14 Jan 2025 15:14:27 +0100 Subject: [PATCH 4/4] #1272 Prepare release 4.8.0.9 --- CHANGES.md | 5 +++++ README.md | 2 +- RELEASE_NOTES.md | 10 ++++++++++ application/configs/application.ini | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b8aa53f9c..8f74c9981 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,10 @@ # OPUS 4 Change Log +## Release 4.8.0.9 - 2025-01-14 + +https://github.com/OPUS4/application/issues/1266 +https://github.com/OPUS4/application/pull/1271 + ## Release 4.8.0.8 - 2024-12-04 https://github.com/OPUS4/application/issues/1253 diff --git a/README.md b/README.md index 8ce05d98b..dcdc617e8 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ mostly. ## OPUS 4 -The current version of OPUS 4 is __4.8.0.8__. It is available on the [master][MASTER] branch and compatible with +The current version of OPUS 4 is __4.8.0.9__. It is available on the [master][MASTER] branch and compatible with PHP 7.1 to 8.1. [Documentation][DOC] diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ee56b6c06..ce70b6515 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,15 @@ # OPUS 4 Release Notes +## Patch Release 4.8.0.9 - 2025-01-14 + +Behebt das Fehlschlagen des DOI-Imports bei Datensätzen ohne Autor*in. + +https://github.com/OPUS4/application/issues/1266 + +Außerdem wurde ein Typo in der Basiskonfiguration behoben. + +https://github.com/OPUS4/application/pull/1271 + ## Patch Release 4.8.0.8 - 2024-12-04 Das Blockieren der Enter/Return-Taste wurde auf die Metadaten-Formulare diff --git a/application/configs/application.ini b/application/configs/application.ini index 8a915889c..2ccc6ce4b 100644 --- a/application/configs/application.ini +++ b/application/configs/application.ini @@ -70,7 +70,7 @@ name = 'OPUS 4' logoLink = home security = 1 workspacePath = APPLICATION_PATH "/workspace" -version = 4.8.0.8 +version = 4.8.0.9 update.latestVersionCheckUrl = "https://api.github.com/repos/opus4/application/releases/latest" ; Determines the implementation of the OPUS 4 data model