# HG changeset patch # User Sebastien Jodogne # Date 1680947045 -7200 # Node ID 1700fe5c9737e3a064c030231221787ddf1e57ed # Parent a2dd9d03977fe0985e48d36f5fd1497f477a2287# Parent 742448a9b6009f894b4d9247e02504bd73589b7a integration mainline->db-protobuf diff -r 742448a9b600 -r 1700fe5c9737 NEWS --- a/NEWS Sat Apr 08 11:38:01 2023 +0200 +++ b/NEWS Sat Apr 08 11:44:05 2023 +0200 @@ -1,11 +1,21 @@ Pending changes in the mainline =============================== +General +------- + +* Support for labels associated with patients, studies, series, and instances + REST API -------- * API version upgraded to 20 -* /system: added "UserMetadata" +* New URIs "/.../{id}/labels/{label}" to test/set/remove labels +* "/patients/{id}", "/studies/{id}", "/series/{id}" and "/instances/{id}" + contain the "Labels" field +* "/tools/find" now accepts the "Labels" and "LabelsConstraint" arguments +* "/tools/labels" lists all the labels that are associated with any resource +* "/system": added "UserMetadata" and "HasLabels" Plugins ------- @@ -16,6 +26,7 @@ Orthanc Explorer ---------------- +* Added support for labels * Added buttons to copy the URL of ZIP archives and DICOM files to the clipboard Maintenance @@ -23,7 +34,7 @@ * Enforce the existence of the patient/study/instance while creating its archive * Security: New configuration option "RestApiWriteToFileSystemEnabled" - to allow "/instances/../export" that is now disabled by default + to allow "/instances/../export" (the latter is now disabled by default) * Fix issue 214: VOILUTSequence is not returned in Wado-RS * Fix /tools/reset crashing when ExtraMainDicomTags were defined * Fix Housekeeper plugin infinite loop if Orthanc is empty. @@ -44,7 +55,7 @@ AcceptedTransferSyntaxes. * Made the default SQLite DB more robust wrt future updates like adding new columns in DB. -* Made the HTTP Client errors more verbose by including the url in the logs. +* Made the HTTP Client errors more verbose by including the URL in the logs. * Optimization: now using multiple threads to transcode files for asynchronous download of studies archive. * New configuration "KeepAliveTimeout" with a default value of 1 second. @@ -155,7 +166,7 @@ * Housekeeper plugin: Fix resume of previous processing * Added missing MOVEPatientRootQueryRetrieveInformationModel in DicomControlUserConnection::SetupPresentationContexts() -* Improved HttpClient error logging (add method + url) +* Improved HttpClient error logging (add method + URL) REST API -------- diff -r 742448a9b600 -r 1700fe5c9737 OrthancFramework/UnitTestsSources/DicomMapTests.cpp --- a/OrthancFramework/UnitTestsSources/DicomMapTests.cpp Sat Apr 08 11:38:01 2023 +0200 +++ b/OrthancFramework/UnitTestsSources/DicomMapTests.cpp Sat Apr 08 11:44:05 2023 +0200 @@ -716,7 +716,7 @@ DicomMap sequencesOnly; m.ExtractSequences(sequencesOnly); - ASSERT_EQ(1, sequencesOnly.GetSize()); + ASSERT_EQ(1u, sequencesOnly.GetSize()); ASSERT_TRUE(sequencesOnly.HasTag(0x0008, 0x1111)); ASSERT_TRUE(sequencesOnly.GetValue(0x0008, 0x1111).GetSequenceContent()[0].isMember("0008,1150")); @@ -724,7 +724,7 @@ DicomMap sequencesCopy; sequencesCopy.SetValue(0x0008, 0x1111, sequencesOnly.GetValue(0x0008, 0x1111)); - ASSERT_EQ(1, sequencesCopy.GetSize()); + ASSERT_EQ(1u, sequencesCopy.GetSize()); ASSERT_TRUE(sequencesCopy.HasTag(0x0008, 0x1111)); ASSERT_TRUE(sequencesCopy.GetValue(0x0008, 0x1111).GetSequenceContent()[0].isMember("0008,1150")); } diff -r 742448a9b600 -r 1700fe5c9737 OrthancServer/CMakeLists.txt --- a/OrthancServer/CMakeLists.txt Sat Apr 08 11:38:01 2023 +0200 +++ b/OrthancServer/CMakeLists.txt Sat Apr 08 11:44:05 2023 +0200 @@ -228,16 +228,15 @@ ##################################################################### set(ORTHANC_EMBEDDED_FILES - CONFIGURATION_SAMPLE ${CMAKE_SOURCE_DIR}/Resources/Configuration.json - DICOM_CONFORMANCE_STATEMENT ${CMAKE_SOURCE_DIR}/Resources/DicomConformanceStatement.txt - FONT_UBUNTU_MONO_BOLD_16 ${CMAKE_SOURCE_DIR}/Resources/Fonts/UbuntuMonoBold-16.json - LUA_TOOLBOX ${CMAKE_SOURCE_DIR}/Resources/Toolbox.lua - PREPARE_DATABASE ${CMAKE_SOURCE_DIR}/Sources/Database/PrepareDatabase.sql - UPGRADE_DATABASE_3_TO_4 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade3To4.sql - UPGRADE_DATABASE_4_TO_5 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade4To5.sql - - INSTALL_TRACK_ATTACHMENTS_SIZE - ${CMAKE_SOURCE_DIR}/Sources/Database/InstallTrackAttachmentsSize.sql + CONFIGURATION_SAMPLE ${CMAKE_SOURCE_DIR}/Resources/Configuration.json + DICOM_CONFORMANCE_STATEMENT ${CMAKE_SOURCE_DIR}/Resources/DicomConformanceStatement.txt + FONT_UBUNTU_MONO_BOLD_16 ${CMAKE_SOURCE_DIR}/Resources/Fonts/UbuntuMonoBold-16.json + LUA_TOOLBOX ${CMAKE_SOURCE_DIR}/Resources/Toolbox.lua + PREPARE_DATABASE ${CMAKE_SOURCE_DIR}/Sources/Database/PrepareDatabase.sql + UPGRADE_DATABASE_3_TO_4 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade3To4.sql + UPGRADE_DATABASE_4_TO_5 ${CMAKE_SOURCE_DIR}/Sources/Database/Upgrade4To5.sql + INSTALL_TRACK_ATTACHMENTS_SIZE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallTrackAttachmentsSize.sql + INSTALL_LABELS_TABLE ${CMAKE_SOURCE_DIR}/Sources/Database/InstallLabelsTable.sql ) if (STANDALONE_BUILD) diff -r 742448a9b600 -r 1700fe5c9737 OrthancServer/OrthancExplorer/explorer.css --- a/OrthancServer/OrthancExplorer/explorer.css Sat Apr 08 11:38:01 2023 +0200 +++ b/OrthancServer/OrthancExplorer/explorer.css Sat Apr 08 11:44:05 2023 +0200 @@ -63,3 +63,22 @@ .switch-container .ui-slider-switch { width: 100%; } + +.label { + display: inline-block; + background-color: gray; + margin: 5px; + padding: 5px; + border-radius: 10px; +} + +.label button { + background-color: transparent; + border: 0px; + cursor: pointer; + border-radius: 10px; +} + +.label button:hover { + background-color: lightgray; +} diff -r 742448a9b600 -r 1700fe5c9737 OrthancServer/OrthancExplorer/explorer.html --- a/OrthancServer/OrthancExplorer/explorer.html Sat Apr 08 11:38:01 2023 +0200 +++ b/OrthancServer/OrthancExplorer/explorer.html Sat Apr 08 11:44:05 2023 +0200 @@ -81,6 +81,11 @@ +
+ + +
+