Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package orthanc-ohif for openSUSE:Factory checked in at 2025-01-20 17:14:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/orthanc-ohif (Old) and /work/SRC/openSUSE:Factory/.orthanc-ohif.new.5589 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "orthanc-ohif" Mon Jan 20 17:14:22 2025 rev:7 rq:1238806 version:1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/orthanc-ohif/orthanc-ohif.changes 2024-12-09 21:12:52.344231325 +0100 +++ /work/SRC/openSUSE:Factory/.orthanc-ohif.new.5589/orthanc-ohif.changes 2025-01-20 17:14:57.395138048 +0100 @@ -1,0 +2,11 @@ +Sun Jan 19 10:06:41 UTC 2025 - Axel Braun <axel.br...@gmx.de> + +- version 1.5 + * Updated OHIF to 3.9.2 + * In "dicom-web" data source, fixed the default "app-config.js" + configuration to enable display of PDFs. + * Updated cached "dicom-json" version to 2. This implies that, when using + the "dicom-json" source, the cached metadata will have to be recomputed + the first time you open a study. + +------------------------------------------------------------------- Old: ---- OrthancOHIF-1.4.tar.gz New: ---- OrthancOHIF-1.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ orthanc-ohif.spec ++++++ --- /var/tmp/diff_new_pack.fAINQr/_old 2025-01-20 17:14:58.655189920 +0100 +++ /var/tmp/diff_new_pack.fAINQr/_new 2025-01-20 17:14:58.663190249 +0100 @@ -1,7 +1,7 @@ # # spec file for package orthanc-ohif # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # Copyright (c) 2023-2024 Dr. Axel Braun <d...@opensuse.org> # # All modifications and additions to the file contributed by third parties @@ -22,7 +22,7 @@ Summary: OHIF plugin for Orthanc License: GPL-3.0-or-later Group: Productivity/Graphics/Viewers -Version: 1.4 +Version: 1.5 Release: 0 URL: https://orthanc-server.com Source0: https://orthanc.uclouvain.be/downloads/sources/%{name}/OrthancOHIF-%{version}.tar.gz ++++++ OrthancOHIF-1.4.tar.gz -> OrthancOHIF-1.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/.hg_archival.txt new/OrthancOHIF-1.5/.hg_archival.txt --- old/OrthancOHIF-1.4/.hg_archival.txt 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/.hg_archival.txt 2025-01-17 18:27:32.000000000 +0100 @@ -1,6 +1,6 @@ repo: 39585ba26f209c4a9d12ece8e4eda1c466775a94 -node: 9f36196247d74b9d979911dd3c966d5917c749c5 -branch: OrthancOHIF-1.4 +node: dfdd30fe1c0303a19a4846f1310a902b1a11259b +branch: OrthancOHIF-1.5 latesttag: null -latesttagdistance: 58 -changessincelatesttag: 58 +latesttagdistance: 67 +changessincelatesttag: 67 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/.hgignore new/OrthancOHIF-1.5/.hgignore --- old/OrthancOHIF-1.4/.hgignore 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/.hgignore 2025-01-17 18:27:32.000000000 +0100 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: CC0-1.0 syntax: glob diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/.reuse/dep5 new/OrthancOHIF-1.5/.reuse/dep5 --- old/OrthancOHIF-1.4/.reuse/dep5 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/.reuse/dep5 2025-01-17 18:27:32.000000000 +0100 @@ -4,15 +4,15 @@ Source: https://orthanc.uclouvain.be/ Files: NEWS README TODO CITATION.cff -Copyright: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium, and 2018-2024 Open Health Imaging Foundation +Copyright: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium, and 2018-2025 Open Health Imaging Foundation License: GPL-3.0-or-later Files: Resources/Orthanc/CMake/* Resources/Orthanc/Toolchains/* -Copyright: 2012-2016 Sebastien Jodogne <s.jodo...@gmail.com>, University Hospital of Liege (Belgium), and 2017-2024 Osimis S.A. (Belgium), and 2021-2024 UCLouvain (Belgium) +Copyright: 2012-2016 Sebastien Jodogne <s.jodo...@gmail.com>, University Hospital of Liege (Belgium), and 2017-2023 Osimis S.A. (Belgium), and 2021-2025 ICTEAM UCLouvain (Belgium) License: LGPL-3.0-or-later Files: Resources/Orthanc/Plugins/* -Copyright: 2012-2016 Sebastien Jodogne <s.jodo...@gmail.com>, University Hospital of Liege (Belgium), and 2017-2024 Osimis S.A. (Belgium), and 2021-2024 UCLouvain (Belgium) +Copyright: 2012-2016 Sebastien Jodogne <s.jodo...@gmail.com>, University Hospital of Liege (Belgium), and 2017-2023 Osimis S.A. (Belgium), and 2021-2025 ICTEAM UCLouvain (Belgium) License: GPL-3.0-or-later Files: Resources/Orthanc/Sdk-1.0.0/orthanc/OrthancCPlugin.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/CITATION.cff new/OrthancOHIF-1.5/CITATION.cff --- old/OrthancOHIF-1.4/CITATION.cff 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/CITATION.cff 2025-01-17 18:27:32.000000000 +0100 @@ -10,5 +10,5 @@ doi: "10.1007/s10278-018-0082-y" license: "GPL-3.0-or-later" repository-code: "https://orthanc.uclouvain.be/hg/orthanc/" -version: 1.12.4 -date-released: 2024-06-05 +version: 1.12.5 +date-released: 2024-12-17 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/CMakeLists.txt new/OrthancOHIF-1.5/CMakeLists.txt --- old/OrthancOHIF-1.4/CMakeLists.txt 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/CMakeLists.txt 2025-01-17 18:27:32.000000000 +0100 @@ -1,9 +1,9 @@ -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -22,17 +22,17 @@ cmake_minimum_required(VERSION 2.8) project(OrthancOHIF) -set(ORTHANC_OHIF_VERSION "1.4") +set(ORTHANC_OHIF_VERSION "1.5") if (ORTHANC_OHIF_VERSION STREQUAL "mainline") set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "mainline") set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "hg") else() - set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "1.12.4") + set(ORTHANC_FRAMEWORK_DEFAULT_VERSION "1.12.5") set(ORTHANC_FRAMEWORK_DEFAULT_SOURCE "web") endif() -set(METADATA_VERSION 1) +set(METADATA_VERSION 2) ##################################################################### diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/NEWS new/OrthancOHIF-1.5/NEWS --- old/OrthancOHIF-1.4/NEWS 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/NEWS 2025-01-17 18:27:32.000000000 +0100 @@ -2,6 +2,17 @@ =============================== +Version 1.5 (2025-01-17) +======================== + +* Updated OHIF to 3.9.2 +* In "dicom-web" data source, fixed the default "app-config.js" + configuration to enable display of PDFs. +* Updated cached "dicom-json" version to 2. This implies that, when using + the "dicom-json" source, the cached metadata will have to be recomputed + the first time you open a study. + + Version 1.4 (2024-11-26) ======================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/ClearMetadataCache.py new/OrthancOHIF-1.5/Resources/ClearMetadataCache.py --- old/OrthancOHIF-1.4/Resources/ClearMetadataCache.py 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/ClearMetadataCache.py 2025-01-17 18:27:32.000000000 +0100 @@ -1,10 +1,10 @@ #!/usr/bin/env python3 -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/CreateOHIFDist/Dockerfile new/OrthancOHIF-1.5/Resources/CreateOHIFDist/Dockerfile --- old/OrthancOHIF-1.4/Resources/CreateOHIFDist/Dockerfile 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/CreateOHIFDist/Dockerfile 2025-01-17 18:27:32.000000000 +0100 @@ -1,8 +1,8 @@ -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/CreateOHIFDist/build.sh new/OrthancOHIF-1.5/Resources/CreateOHIFDist/build.sh --- old/OrthancOHIF-1.4/Resources/CreateOHIFDist/build.sh 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/CreateOHIFDist/build.sh 2025-01-17 18:27:32.000000000 +0100 @@ -1,10 +1,10 @@ #!/bin/bash -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/CreateOHIFDist.sh new/OrthancOHIF-1.5/Resources/CreateOHIFDist.sh --- old/OrthancOHIF-1.4/Resources/CreateOHIFDist.sh 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/CreateOHIFDist.sh 2025-01-17 18:27:32.000000000 +0100 @@ -1,10 +1,10 @@ #!/bin/bash -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -28,7 +28,7 @@ set -ex if [ "$1" = "" ]; then - PACKAGE=Viewers-3.9.1 + PACKAGE=Viewers-3.9.2 else PACKAGE=$1 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/EmbedStaticAssets.py new/OrthancOHIF-1.5/Resources/EmbedStaticAssets.py --- old/OrthancOHIF-1.4/Resources/EmbedStaticAssets.py 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/EmbedStaticAssets.py 2025-01-17 18:27:32.000000000 +0100 @@ -1,10 +1,10 @@ #!/usr/bin/python3 -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/CMake/AutoGeneratedCode.cmake new/OrthancOHIF-1.5/Resources/Orthanc/CMake/AutoGeneratedCode.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/CMake/AutoGeneratedCode.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/CMake/AutoGeneratedCode.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/CMake/Compiler.cmake new/OrthancOHIF-1.5/Resources/Orthanc/CMake/Compiler.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/CMake/Compiler.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/CMake/Compiler.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake new/OrthancOHIF-1.5/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/CMake/DownloadOrthancFramework.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License @@ -165,6 +165,8 @@ set(ORTHANC_FRAMEWORK_MD5 "975f5bf2142c22cb1777b4f6a0a614c5") elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.12.4") set(ORTHANC_FRAMEWORK_MD5 "1e61779ea4a7cd705720bdcfed8a6a73") + elseif (ORTHANC_FRAMEWORK_VERSION STREQUAL "1.12.5") + set(ORTHANC_FRAMEWORK_MD5 "5bb69f092981fdcfc11dec0a0f9a7db3") # Below this point are development snapshots that were used to # release some plugin, before an official release of the Orthanc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/CMake/DownloadPackage.cmake new/OrthancOHIF-1.5/Resources/Orthanc/CMake/DownloadPackage.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/CMake/DownloadPackage.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/CMake/DownloadPackage.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/CMake/EmbedResources.py new/OrthancOHIF-1.5/Resources/Orthanc/CMake/EmbedResources.py --- old/OrthancOHIF-1.4/Resources/Orthanc/CMake/EmbedResources.py 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/CMake/EmbedResources.py 2025-01-17 18:27:32.000000000 +0100 @@ -4,8 +4,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp --- old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.cpp 2025-01-17 18:27:32.000000000 +0100 @@ -3,8 +3,8 @@ * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics * Department, University Hospital of Liege, Belgium * Copyright (C) 2017-2023 Osimis S.A., Belgium - * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium - * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium + * Copyright (C) 2024-2025 Orthanc Team SRL, Belgium + * Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -334,9 +334,9 @@ std::vector<const char*> headersValues_; public: - explicit PluginHttpHeaders(const std::map<std::string, std::string>& httpHeaders) + explicit PluginHttpHeaders(const HttpHeaders& httpHeaders) { - for (std::map<std::string, std::string>::const_iterator + for (HttpHeaders::const_iterator it = httpHeaders.begin(); it != httpHeaders.end(); ++it) { headersKeys_.push_back(it->first.c_str()); @@ -361,7 +361,7 @@ }; bool MemoryBuffer::RestApiGet(const std::string& uri, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins) { Clear(); @@ -400,7 +400,7 @@ bool MemoryBuffer::RestApiPost(const std::string& uri, const void* body, size_t bodySize, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins) { MemoryBuffer answerHeaders; @@ -422,7 +422,7 @@ bool MemoryBuffer::RestApiPost(const std::string& uri, const Json::Value& body, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins) { std::string s; @@ -1490,7 +1490,7 @@ bool RestApiGetString(std::string& result, const std::string& uri, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins) { MemoryBuffer answer; @@ -1508,7 +1508,7 @@ bool RestApiGet(Json::Value& result, const std::string& uri, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins) { MemoryBuffer answer; @@ -1598,7 +1598,7 @@ bool RestApiPost(Json::Value& result, const std::string& uri, const Json::Value& body, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins) { MemoryBuffer answer; @@ -1963,7 +1963,7 @@ bool OrthancPeers::DoGet(MemoryBuffer& target, size_t index, const std::string& uri, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { if (index >= index_.size()) { @@ -1994,7 +1994,7 @@ bool OrthancPeers::DoGet(MemoryBuffer& target, const std::string& name, const std::string& uri, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { size_t index; return (LookupName(index, name) && @@ -2005,7 +2005,7 @@ bool OrthancPeers::DoGet(Json::Value& target, size_t index, const std::string& uri, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { MemoryBuffer buffer; @@ -2024,7 +2024,7 @@ bool OrthancPeers::DoGet(Json::Value& target, const std::string& name, const std::string& uri, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { MemoryBuffer buffer; @@ -2044,7 +2044,7 @@ const std::string& name, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { size_t index; return (LookupName(index, name) && @@ -2056,7 +2056,7 @@ size_t index, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { MemoryBuffer buffer; @@ -2076,7 +2076,7 @@ const std::string& name, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { MemoryBuffer buffer; @@ -2096,7 +2096,7 @@ size_t index, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { if (index >= index_.size()) { @@ -2133,7 +2133,7 @@ bool OrthancPeers::DoPut(size_t index, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { if (index >= index_.size()) { @@ -2169,7 +2169,7 @@ bool OrthancPeers::DoPut(const std::string& name, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { size_t index; return (LookupName(index, name) && @@ -2179,7 +2179,7 @@ bool OrthancPeers::DoDelete(size_t index, const std::string& uri, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { if (index >= index_.size()) { @@ -2208,7 +2208,7 @@ bool OrthancPeers::DoDelete(const std::string& name, const std::string& uri, - const std::map<std::string, std::string>& headers) const + const HttpHeaders& headers) const { size_t index; return (LookupName(index, name) && @@ -2923,12 +2923,12 @@ std::vector<const char*> headersValues_; public: - HeadersWrapper(const HttpClient::HttpHeaders& headers) + HeadersWrapper(const HttpHeaders& headers) { headersKeys_.reserve(headers.size()); headersValues_.reserve(headers.size()); - for (HttpClient::HttpHeaders::const_iterator it = headers.begin(); it != headers.end(); ++it) + for (HttpHeaders::const_iterator it = headers.begin(); it != headers.end(); ++it) { headersKeys_.push_back(it->first.c_str()); headersValues_.push_back(it->second.c_str()); @@ -3076,11 +3076,11 @@ class MemoryAnswer : public HttpClient::IAnswer { private: - HttpClient::HttpHeaders headers_; - ChunkedBuffer body_; + HttpHeaders headers_; + ChunkedBuffer body_; public: - const HttpClient::HttpHeaders& GetHeaders() const + const HttpHeaders& GetHeaders() const { return headers_; } @@ -3168,6 +3168,35 @@ #endif + static void DecodeHttpHeaders(HttpHeaders& target, + const MemoryBuffer& source) + { + Json::Value v; + source.ToJson(v); + + if (v.type() != Json::objectValue) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); + } + + Json::Value::Members members = v.getMemberNames(); + target.clear(); + + for (size_t i = 0; i < members.size(); i++) + { + const Json::Value& h = v[members[i]]; + if (h.type() != Json::stringValue) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); + } + else + { + target[members[i]] = h.asString(); + } + } + } + + void HttpClient::ExecuteWithoutStream(uint16_t& httpStatus, HttpHeaders& answerHeaders, std::string& answerBody, @@ -3208,30 +3237,7 @@ ORTHANC_PLUGINS_THROW_PLUGIN_ERROR_CODE(error); } - Json::Value v; - answerHeadersBuffer.ToJson(v); - - if (v.type() != Json::objectValue) - { - ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); - } - - Json::Value::Members members = v.getMemberNames(); - answerHeaders.clear(); - - for (size_t i = 0; i < members.size(); i++) - { - const Json::Value& h = v[members[i]]; - if (h.type() != Json::stringValue) - { - ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); - } - else - { - answerHeaders[members[i]] = h.asString(); - } - } - + DecodeHttpHeaders(answerHeaders, answerHeadersBuffer); answerBodyBuffer.ToString(answerBody); } @@ -4061,7 +4067,7 @@ } #endif - void GetHttpHeaders(std::map<std::string, std::string>& result, const OrthancPluginHttpRequest* request) + void GetHttpHeaders(HttpHeaders& result, const OrthancPluginHttpRequest* request) { result.clear(); @@ -4114,4 +4120,135 @@ SetPluginProperty(pluginIdentifier, _OrthancPluginProperty_OrthancExplorer, javascript); #endif } + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + RestApiClient::RestApiClient() : + method_(OrthancPluginHttpMethod_Get), + path_("/"), + afterPlugins_(false), + httpStatus_(0) + { + } +#endif + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + void RestApiClient::AddRequestHeader(const std::string& key, + const std::string& value) + { + if (requestHeaders_.find(key) == requestHeaders_.end()) + { + requestHeaders_[key] = value; + } + else + { + ORTHANC_PLUGINS_THROW_EXCEPTION(BadSequenceOfCalls); + } + } +#endif + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + bool RestApiClient::Execute() + { + if (requestBody_.size() > 0xffffffffu) + { + ORTHANC_PLUGINS_LOG_ERROR("Cannot handle body size > 4GB"); + ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); + } + + PluginHttpHeaders converted(requestHeaders_); + + MemoryBuffer body; + MemoryBuffer headers; + + OrthancPluginErrorCode code = OrthancPluginCallRestApi(GetGlobalContext(), *body, *headers, &httpStatus_, method_, path_.c_str(), + requestHeaders_.size(), converted.GetKeys(), converted.GetValues(), + requestBody_.c_str(), requestBody_.size(), afterPlugins_ ? 1 : 0); + + answerHeaders_.clear(); + answerBody_.clear(); + + if (code == OrthancPluginErrorCode_Success) + { + if (httpStatus_ == 0) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(InternalError); + } + + DecodeHttpHeaders(answerHeaders_, headers); + body.ToString(answerBody_); + return true; + } + else + { + if (code == OrthancPluginErrorCode_UnknownResource || + code == OrthancPluginErrorCode_InexistentItem) + { + httpStatus_ = 404; + return false; + } + else + { + ORTHANC_PLUGINS_THROW_PLUGIN_ERROR_CODE(code); + } + } + } +#endif + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + uint16_t RestApiClient::GetHttpStatus() const + { + if (httpStatus_ == 0) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(BadSequenceOfCalls); + } + else + { + return httpStatus_; + } + } +#endif + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + bool RestApiClient::LookupAnswerHeader(std::string& value, + const std::string& key) const + { + if (httpStatus_ == 0) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(BadSequenceOfCalls); + } + else + { + HttpHeaders::const_iterator found = answerHeaders_.find(key); + if (found == answerHeaders_.end()) + { + return false; + } + else + { + value = found->second; + return true; + } + } + } +#endif + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + const std::string& RestApiClient::GetAnswerBody() const + { + if (httpStatus_ == 0) + { + ORTHANC_PLUGINS_THROW_EXCEPTION(BadSequenceOfCalls); + } + else + { + return answerBody_; + } + } +#endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h --- old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginCppWrapper.h 2025-01-17 18:27:32.000000000 +0100 @@ -3,8 +3,8 @@ * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics * Department, University Hospital of Liege, Belgium * Copyright (C) 2017-2023 Osimis S.A., Belgium - * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium - * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium + * Copyright (C) 2024-2025 Orthanc Team SRL, Belgium + * Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -170,6 +170,8 @@ namespace OrthancPlugins { + typedef std::map<std::string, std::string> HttpHeaders; + typedef void (*RestCallback) (OrthancPluginRestOutput* output, const char* url, const OrthancPluginHttpRequest* request); @@ -257,7 +259,7 @@ bool applyPlugins); bool RestApiGet(const std::string& uri, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins); bool RestApiPost(const std::string& uri, @@ -277,13 +279,13 @@ #if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 bool RestApiPost(const std::string& uri, const Json::Value& body, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins); bool RestApiPost(const std::string& uri, const void* body, size_t bodySize, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins); #endif @@ -581,7 +583,7 @@ bool RestApiGet(Json::Value& result, const std::string& uri, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins); bool RestApiGetString(std::string& result, @@ -590,7 +592,7 @@ bool RestApiGetString(std::string& result, const std::string& uri, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins); bool RestApiPost(std::string& result, @@ -609,7 +611,7 @@ bool RestApiPost(Json::Value& result, const std::string& uri, const Json::Value& body, - const std::map<std::string, std::string>& httpHeaders, + const HttpHeaders& httpHeaders, bool applyPlugins); #endif @@ -829,64 +831,64 @@ bool DoGet(MemoryBuffer& target, size_t index, const std::string& uri, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoGet(MemoryBuffer& target, const std::string& name, const std::string& uri, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoGet(Json::Value& target, size_t index, const std::string& uri, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoGet(Json::Value& target, const std::string& name, const std::string& uri, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoPost(MemoryBuffer& target, size_t index, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoPost(MemoryBuffer& target, const std::string& name, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoPost(Json::Value& target, size_t index, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoPost(Json::Value& target, const std::string& name, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoPut(size_t index, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoPut(const std::string& name, const std::string& uri, const std::string& body, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoDelete(size_t index, const std::string& uri, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; bool DoDelete(const std::string& name, const std::string& uri, - const std::map<std::string, std::string>& headers) const; + const HttpHeaders& headers) const; }; #endif @@ -996,8 +998,6 @@ class HttpClient : public boost::noncopyable { public: - typedef std::map<std::string, std::string> HttpHeaders; - class IRequestBody : public boost::noncopyable { public: @@ -1397,7 +1397,7 @@ }; // helper method to convert Http headers from the plugin SDK to a std::map -void GetHttpHeaders(std::map<std::string, std::string>& result, const OrthancPluginHttpRequest* request); +void GetHttpHeaders(HttpHeaders& result, const OrthancPluginHttpRequest* request); #if HAS_ORTHANC_PLUGIN_WEBDAV == 1 class IWebDavCollection : public boost::noncopyable @@ -1508,4 +1508,88 @@ void ExtendOrthancExplorer(const std::string& pluginIdentifier, const std::string& javascript); + + +#if HAS_ORTHANC_PLUGIN_GENERIC_CALL_REST_API == 1 + class RestApiClient : public boost::noncopyable + { + private: + // Request + OrthancPluginHttpMethod method_; + std::string path_; + HttpHeaders requestHeaders_; + std::string requestBody_; + bool afterPlugins_; + + // Answer + uint16_t httpStatus_; + HttpHeaders answerHeaders_; + std::string answerBody_; + + public: + RestApiClient(); + + void SetMethod(OrthancPluginHttpMethod method) + { + method_ = method; + } + + OrthancPluginHttpMethod GetMethod() const + { + return method_; + } + + void SetPath(const std::string& path) + { + path_ = path; + } + + const std::string& GetPath() const + { + return path_; + } + + void AddRequestHeader(const std::string& key, + const std::string& value); + + const HttpHeaders& GetRequestHeaders() const + { + return requestHeaders_; + } + + void SetRequestBody(const std::string& body) + { + requestBody_ = body; + } + + void SwapRequestBody(std::string& body) + { + requestBody_.swap(body); + } + + void SetAfterPlugins(bool afterPlugins) + { + afterPlugins_ = afterPlugins; + } + + bool IsAfterPlugins() const + { + return afterPlugins_; + } + + const std::string& GetRequestBody() const + { + return requestBody_; + } + + bool Execute(); + + uint16_t GetHttpStatus() const; + + bool LookupAnswerHeader(std::string& value, + const std::string& key) const; + + const std::string& GetAnswerBody() const; + }; +#endif } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginException.h new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginException.h --- old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginException.h 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginException.h 2025-01-17 18:27:32.000000000 +0100 @@ -3,8 +3,8 @@ * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics * Department, University Hospital of Liege, Belgium * Copyright (C) 2017-2023 Osimis S.A., Belgium - * Copyright (C) 2024-2024 Orthanc Team SRL, Belgium - * Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium + * Copyright (C) 2024-2025 Orthanc Team SRL, Belgium + * Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Plugins/OrthancPluginsExports.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/LinuxStandardBaseToolchain.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain32.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/MinGW-W64-Toolchain64.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/MinGWToolchain.cmake new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/MinGWToolchain.cmake --- old/OrthancOHIF-1.4/Resources/Orthanc/Toolchains/MinGWToolchain.cmake 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/Orthanc/Toolchains/MinGWToolchain.cmake 2025-01-17 18:27:32.000000000 +0100 @@ -2,8 +2,8 @@ # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics # Department, University Hospital of Liege, Belgium # Copyright (C) 2017-2023 Osimis S.A., Belgium -# Copyright (C) 2024-2024 Orthanc Team SRL, Belgium -# Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium +# Copyright (C) 2024-2025 Orthanc Team SRL, Belgium +# Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public License diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Resources/SyncOrthancFolder.py new/OrthancOHIF-1.5/Resources/SyncOrthancFolder.py --- old/OrthancOHIF-1.4/Resources/SyncOrthancFolder.py 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Resources/SyncOrthancFolder.py 2025-01-17 18:27:32.000000000 +0100 @@ -1,10 +1,10 @@ #!/usr/bin/python3 -# SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # SPDX-License-Identifier: GPL-3.0-or-later # OHIF plugin for Orthanc -# Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium +# Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium # # This program is free software: you can redistribute it and/or # modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Sources/OrthancExplorer.js new/OrthancOHIF-1.5/Sources/OrthancExplorer.js --- old/OrthancOHIF-1.4/Sources/OrthancExplorer.js 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Sources/OrthancExplorer.js 2025-01-17 18:27:32.000000000 +0100 @@ -1,11 +1,11 @@ /** - * SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium + * SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * SPDX-License-Identifier: GPL-3.0-or-later */ /** * OHIF plugin for Orthanc - * Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium + * Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Sources/Plugin.cpp new/OrthancOHIF-1.5/Sources/Plugin.cpp --- old/OrthancOHIF-1.4/Sources/Plugin.cpp 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Sources/Plugin.cpp 2025-01-17 18:27:32.000000000 +0100 @@ -1,11 +1,11 @@ /** - * SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium + * SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * SPDX-License-Identifier: GPL-3.0-or-later */ /** * OHIF plugin for Orthanc - * Copyright (C) 2023-2024 Sebastien Jodogne, UCLouvain, Belgium + * Copyright (C) 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium * * This program is free software: you can redistribute it and/or * modify it under the terms of the GNU General Public License as diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Sources/app-config-system.js new/OrthancOHIF-1.5/Sources/app-config-system.js --- old/OrthancOHIF-1.4/Sources/app-config-system.js 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Sources/app-config-system.js 2025-01-17 18:27:32.000000000 +0100 @@ -1,6 +1,6 @@ /** - * SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium, - * and 2018-2024 Open Health Imaging Foundation + * SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium, + * and 2018-2025 Open Health Imaging Foundation * SPDX-License-Identifier: MIT */ @@ -27,8 +27,11 @@ supportsFuzzyMatching: false, supportsWildcard: true, staticWado: true, - singlepart: 'bulkdata,pdf,video', - acceptHeader: [ 'multipart/related; type=application/octet-stream; transfer-syntax=*'] + singlepart: 'bulkdata', + acceptHeader: [ 'multipart/related; type=application/octet-stream; transfer-syntax=*'], + bulkDataURI: { // to remove once 3.9.2+ is released (https://github.com/OHIF/Viewers/issues/4256) + enabled: true + } } } ]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/OrthancOHIF-1.4/Sources/app-config-user.js new/OrthancOHIF-1.5/Sources/app-config-user.js --- old/OrthancOHIF-1.4/Sources/app-config-user.js 2024-11-26 17:51:13.000000000 +0100 +++ new/OrthancOHIF-1.5/Sources/app-config-user.js 2025-01-17 18:27:32.000000000 +0100 @@ -1,6 +1,6 @@ /** - * SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium, - * and 2018-2024 Open Health Imaging Foundation + * SPDX-FileCopyrightText: 2023-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium, + * and 2018-2025 Open Health Imaging Foundation * SPDX-License-Identifier: MIT */ ++++++ dist.zip ++++++ /work/SRC/openSUSE:Factory/orthanc-ohif/dist.zip /work/SRC/openSUSE:Factory/.orthanc-ohif.new.5589/dist.zip differ: char 11, line 2