Mercurial > hg > orthanc-book
changeset 1229:e15a7861fdcd Orthanc-1.12.10
Orthanc 1.12.10
| author | Sebastien Jodogne <s.jodogne@gmail.com> |
|---|---|
| date | Wed, 26 Nov 2025 16:48:43 +0100 |
| parents | 7035bf7ce6bc |
| children | b99a0058a589 |
| files | OpenAPI/orthanc-openapi.json Sphinx/source/developers/creating-plugins.rst Sphinx/source/developers/db-versioning.rst Sphinx/source/faq/main-dicom-tags.rst Sphinx/source/faq/orthanc-storage.rst Sphinx/source/faq/scalability.rst Sphinx/source/plugins/java.rst Sphinx/source/plugins/python.rst Sphinx/source/users/advanced-rest.rst Sphinx/source/users/anonymization.rst Sphinx/source/users/configuration.rst Sphinx/source/users/debian-packages.rst Sphinx/source/users/docker.rst Sphinx/source/users/docker.rst.BAK Sphinx/source/users/man-orthanc.txt Sphinx/source/users/rest.rst |
| diffstat | 16 files changed, 88 insertions(+), 86 deletions(-) [+] |
line wrap: on
line diff
--- a/OpenAPI/orthanc-openapi.json Wed Nov 26 15:55:48 2025 +0100 +++ b/OpenAPI/orthanc-openapi.json Wed Nov 26 16:48:43 2025 +0100 @@ -2,7 +2,7 @@ "info" : { "description" : "This is the full documentation of the [REST API](https://orthanc.uclouvain.be/book/users/rest.html) of Orthanc.<p>This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://orthanc.uclouvain.be/book/users/rest-cheatsheet.html) is part of the Orthanc Book.<p>An earlier, manually crafted version from August 2019, is [still available](2019-08-orthanc-openapi.html), but is not up-to-date anymore ([source](https://groups.google.com/g/orthanc-users/c/NUiJTEICSl8/m/xKeqMrbqAAAJ)).", "title" : "Orthanc API", - "version" : "1.12.9" + "version" : "1.12.10" }, "openapi" : "3.0.0", "paths" : { @@ -4719,11 +4719,11 @@ "type" : "string" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "Resources" : { @@ -4811,11 +4811,11 @@ "type" : "string" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "Resources" : { @@ -4929,11 +4929,11 @@ "properties" : { "ID" : { "description" : "Identifier of the query, to be used with `/queries/{id}`", - "type" : "object" + "type" : "string" }, "Path" : { "description" : "Root path to the query in the REST API", - "type" : "object" + "type" : "string" } } } @@ -5063,7 +5063,7 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Port" : { @@ -5071,7 +5071,7 @@ "type" : "number" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "Resources" : { @@ -5424,11 +5424,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -7274,11 +7274,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -8064,11 +8064,11 @@ "type" : "boolean" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "Resources" : { @@ -8244,6 +8244,7 @@ "connectivity-checks", "delayed-deletion", "dicom-web", + "education", "gdcm", "housekeeper", "indexer", @@ -8326,7 +8327,7 @@ "ExtendsOrthancExplorer" : true, "ID" : "dicom-web", "RootUri" : "../dicom-web/app/client/index.html", - "Version" : "1.20" + "Version" : "1.21" } } } @@ -8822,11 +8823,11 @@ "type" : "boolean" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "RetrieveMethod" : { @@ -9034,11 +9035,11 @@ "type" : "boolean" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "RetrieveMethod" : { @@ -9349,11 +9350,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -11053,11 +11054,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -11944,7 +11945,7 @@ "/storage-commitment/{id}/remove" : { "post" : { "deprecated" : false, - "description" : "Remove out of Orthanc, the DICOM instances that have been reported to have been properly received the storage commitment report whose identifier is provided in the URL. This is only possible if the `Status` of the storage commitment report is `Success`. https://orthanc.uclouvain.be/book/users/storage-commitment.html#removing-the-instances", + "description" : "Remove out of Orthanc, the DICOM instances that have been reported to have been properly received in the storage commitment report whose identifier is provided in the URL. This is only possible if the `Status` of the storage commitment report is `Success`. https://orthanc.uclouvain.be/book/users/storage-commitment.html#removing-the-instances", "parameters" : [ { "description" : "Identifier of the storage commitment report", @@ -12225,11 +12226,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -13866,11 +13867,11 @@ "type" : "boolean" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "Resources" : { @@ -14159,11 +14160,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -14835,11 +14836,11 @@ "type" : "boolean" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "Remove" : { @@ -15002,7 +15003,8 @@ "HasExtendedChanges" : true, "HasExtendedFind" : true, "HasKeyValueStores" : true, - "HasQueues" : true + "HasQueues" : true, + "HasReserveQueueValue" : true }, "CheckRevisions" : false, "DatabaseBackendPlugin" : null, @@ -15031,7 +15033,7 @@ "StorageAreaPlugin" : null, "StorageCompression" : false, "UserMetadata" : {}, - "Version" : "1.12.9" + "Version" : "1.12.10" }, "properties" : { "ApiVersion" : { @@ -15039,7 +15041,7 @@ "type" : "number" }, "Capabilities" : { - "description" : "Whether the back-end supports optional features like 'HasExtendedChanges', 'HasExtendedFind' (new in Orthanc 1.12.5) ", + "description" : "Whether the database back-end supports optional features like 'HasExtendedChanges', 'HasExtendedFind' (new in Orthanc 1.12.5), 'HasKeyValueStores', 'HasQueues' (new in Orthanc 1.12.8), and 'HasReserveQueueValue' (new in Orthanc 1.12.10)", "type" : "object" }, "CheckRevisions" : { @@ -15329,11 +15331,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -15521,11 +15523,11 @@ "type" : "number" }, "Permissive" : { - "description" : "If `true`, ignore errors during the individual steps of the job.", + "description" : "If `true`, ignore errors during the individual steps of the job. Default value is `false`.", "type" : "boolean" }, "Priority" : { - "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority.", + "description" : "In asynchronous mode, the priority of the job. The higher the value, the higher the priority. Default value is `0`", "type" : "number" }, "PrivateCreator" : { @@ -16913,7 +16915,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "orthanc_available_dicom_threads 4 1754933485145\northanc_available_http_threads_count 49 1754933683397\northanc_count_instances 2552 1754933691628\northanc_count_patients 8 1754933691628\northanc_count_series 26 1754933691628\northanc_count_studies 8 1754933691628\northanc_dicom_cache_count 1 1754933691628\northanc_dicom_cache_size_mb 0.502557755 1754933691628\northanc_disk_size_mb 983.235352 1754933691628\northanc_jobs_completed 0 1754933691628\northanc_jobs_failed 0 1754933691628\northanc_jobs_pending 0 1754933691628\northanc_jobs_running 0 1754933691628\northanc_jobs_success 0 1754933691628\northanc_last_change 6551 1754933691628\northanc_rest_api_active_requests 1 1754933683397\northanc_rest_api_duration_ms 650 1754933690143\northanc_storage_cache_count 400 1754933691629\northanc_storage_cache_hit_count 407 1754933691400\northanc_storage_cache_miss_count 400 1754933689980\northanc_storage_cache_size_mb 3.17403412 1754933691628\northanc_storage_read_bytes 3328216 1754933689980\northanc_storage_read_duration_ms 0 1754933683841\northanc_uncompressed_size_mb 983.235352 1754933691628\northanc_up_time_s 206 1754933691628\n" + "example" : "orthanc_available_dicom_threads 4 1764171884784\northanc_available_http_threads_count 49 1764172093743\northanc_count_instances 2552 1764172100539\northanc_count_patients 8 1764172100539\northanc_count_series 26 1764172100539\northanc_count_studies 8 1764172100539\northanc_dicom_cache_count 167 1764172100539\northanc_dicom_cache_size_mb 83.9109268 1764172100539\northanc_disk_size_mb 983.235352 1764172100539\northanc_jobs_completed 0 1764172100539\northanc_jobs_failed 0 1764172100539\northanc_jobs_pending 0 1764172100539\northanc_jobs_running 0 1764172100539\northanc_jobs_success 0 1764172100539\northanc_last_change 6551 1764172100539\northanc_rest_api_active_requests 1 1764172093743\northanc_rest_api_duration_ms 604 1764172099042\northanc_storage_cache_count 408 1764172100539\northanc_storage_cache_hit_count 683 1764172100350\northanc_storage_cache_miss_count 408 1764172098910\northanc_storage_cache_size_mb 98.1075974 1764172100539\northanc_storage_read_bytes 102873274 1764172098911\northanc_storage_read_duration_ms 0 1764172094128\northanc_uncompressed_size_mb 983.235352 1764172100539\northanc_up_time_s 216 1764172100539\n" } }, "description" : "" @@ -16932,7 +16934,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "20250811T173451", + "example" : "20251126T154820", "schema" : { "description" : "The UTC time" } @@ -16954,7 +16956,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "20250811T173451", + "example" : "20251126T154820", "schema" : { "description" : "The local time" }
--- a/Sphinx/source/developers/creating-plugins.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/developers/creating-plugins.rst Wed Nov 26 16:48:43 2025 +0100 @@ -15,7 +15,7 @@ Native Orthanc plugins must use the `plugin SDK <https://orthanc.uclouvain.be/sdk/>`__ whose interface is available as a `C header -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. As a consequence, an Orthanc plugin will typically be written using C or C++, although it is also possible to create native plugins using languages that feature compatibility with C headers and with `FFI of @@ -103,7 +103,7 @@ that is part of the Orthanc source distribution: * `Plugins/Include/orthanc/OrthancCPlugin.h - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ `Online documentation <https://orthanc.uclouvain.be/sdk/>`__ for this C header is available, as generated by `Doxygen @@ -117,8 +117,8 @@ ``HAS_ORTHANC_EXCEPTION`` is set to ``0``: * `Plugins/Samples/Common/OrthanPluginCppWrapper.h - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ * `Plugins/Samples/Common/OrthanPluginException.h - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__
--- a/Sphinx/source/developers/db-versioning.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/developers/db-versioning.rst Wed Nov 26 16:48:43 2025 +0100 @@ -26,7 +26,7 @@ Version DB v2 DB v3 DB v4 DB v5 DB v6 =============================== ===== ===== ===== ===== ===== Mainline u u u x -Orthanc 0.9.5 - Orthanc 1.12.9 u u u x +Orthanc 0.9.5 - Orthanc 1.12.10 u u u x Orthanc 0.8.5 - Orthanc 0.9.4 u u x Orthanc 0.7.3 - Orthanc 0.8.4 u x Orthanc 0.4.0 - Orthanc 0.7.2 x
--- a/Sphinx/source/faq/main-dicom-tags.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/faq/main-dicom-tags.rst Wed Nov 26 16:48:43 2025 +0100 @@ -138,7 +138,7 @@ ``SeriesDescription`` at ``Study`` level will lead to unpredictible results. Orthanc will **not** check that the tags levels are adequate. -*Note:* As of Orthanc 1.12.9, it is not possible to store Private DICOM tags +*Note:* As of Orthanc 1.12.10, it is not possible to store Private DICOM tags in the ``ExtraMainDicomTags``.
--- a/Sphinx/source/faq/orthanc-storage.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/faq/orthanc-storage.rst Wed Nov 26 16:48:43 2025 +0100 @@ -105,9 +105,9 @@ The database schema is kept as simple as possible, e.g, for SQLite, the schema can be found in the following two files of the source code of Orthanc: `PrepareDatabase.sql -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Sources/Database/PrepareDatabase.sql>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Sources/Database/PrepareDatabase.sql>`__ and `InstallTrackAttachmentsSize.sql -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__. +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__. Direct access
--- a/Sphinx/source/faq/scalability.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/faq/scalability.rst Wed Nov 26 16:48:43 2025 +0100 @@ -53,7 +53,7 @@ Here is a generic setup that should provide best performance in the presence of large databases: -* Make sure to use the latest release of Orthanc (1.12.9 at the time of +* Make sure to use the latest release of Orthanc (1.12.10 at the time of writing) running on a GNU/Linux distribution. * We suggest to use the latest release of the :ref:`PostgreSQL plugin
--- a/Sphinx/source/plugins/java.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/plugins/java.rst Wed Nov 26 16:48:43 2025 +0100 @@ -18,7 +18,7 @@ Java applications for Orthanc have access to more features and a more consistent SDK than :ref:`Lua scripts <lua>`. The largest part of the Java API is automatically generated from the `Orthanc plugin SDK in C -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler front-end.
--- a/Sphinx/source/plugins/python.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/plugins/python.rst Wed Nov 26 16:48:43 2025 +0100 @@ -30,7 +30,7 @@ Python plugins have access to more features and a more consistent SDK than :ref:`Lua scripts <lua>`. The largest part of the Python API is automatically generated from the `Orthanc plugin SDK in C -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler front-end. @@ -373,7 +373,7 @@ call ``RestApiPostAfterPlugin`` to call the REST API from plugins. -Note however, that, as of Orthanc 1.12.9, the Orthanc plugin SDK +Note however, that, as of Orthanc 1.12.10, the Orthanc plugin SDK does not support multiple plugins implementing the same route. Orthanc will actually accept e.g a Python plugin that overrides a DICOMweb route but it is impossible to tell which route @@ -942,7 +942,7 @@ * The call to ``orthanc.ExtendOrthancExplorer()`` installs the button with JavaScript code that uses the `jQuery Mobile framework - <https://demos.jquerymobile.com/1.1.0/>`__ (as of Orthanc 1.12.9, + <https://demos.jquerymobile.com/1.1.0/>`__ (as of Orthanc 1.12.10, version 1.1.0 of jQuery Mobile is used in Orthanc Explorer). * If clicking on the button, a GET call to the REST API is made to
--- a/Sphinx/source/users/advanced-rest.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/advanced-rest.rst Wed Nov 26 16:48:43 2025 +0100 @@ -89,7 +89,7 @@ the ``MediaArchiveSize`` configuration that defines the maximum number of ZIP/media archives that are maintained by Orthanc, as a response to the asynchronous creation of archive. As of Orthanc -1.12.9, this value is ``1`` by default. +1.12.10, this value is ``1`` by default. .. _jobs-monitoring: @@ -139,7 +139,7 @@ ``ErrorCode`` and ``ErrorDescription`` fields for more information. * ``Paused``: The job has been paused. * ``Retry``: The job has failed internally, and has been scheduled for - re-submission after a delay. As of Orthanc 1.12.9, this feature is not + re-submission after a delay. As of Orthanc 1.12.10, this feature is not used by any type of job. In order to wait for the end of an asynchronous call, the caller will @@ -148,7 +148,7 @@ ``Failure``. Note that the `integration tests of Orthanc -<https://orthanc.uclouvain.be/hg/orthanc-tests/file/Orthanc-1.12.9/Tests/Toolbox.py>`__ +<https://orthanc.uclouvain.be/hg/orthanc-tests/file/Orthanc-1.12.10/Tests/Toolbox.py>`__ give an example about how to monitor a job in Python using the REST API (cf. function ``MonitorJob()``). @@ -221,7 +221,7 @@ Note how we retrieve the content of the archive by accessing the ``archive`` output of the job (check out the virtual method ``IJob::GetOutput()`` from the `source code -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__ of Orthanc). Here is the corresponding sequence of commands to generate a DICOMDIR @@ -230,7 +230,7 @@ $ curl http://localhost:8042/studies/27f7126f-4f66fb14-03f4081b-f9341db2-53925988/media -d '{"Asynchronous":true}' $ curl http://localhost:8042/jobs/6332be8a-0052-44fb-8cc2-ac959aeccad9/archive > a.zip -As of Orthanc 1.12.9, only the creation of a ZIP or a DICOMDIR archive +As of Orthanc 1.12.10, only the creation of a ZIP or a DICOMDIR archive produces such "outputs".
--- a/Sphinx/source/users/anonymization.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/anonymization.rst Wed Nov 26 16:48:43 2025 +0100 @@ -80,7 +80,7 @@ **Implementation:** Internally, the setup of the anonymization profiles can be found in the methods ``SetupAnonymizationXXX()`` of the class ``Orthanc::DicomModification`` (cf. `source code -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__). +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__). Modification of a Single Instance
--- a/Sphinx/source/users/configuration.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/configuration.rst Wed Nov 26 16:48:43 2025 +0100 @@ -8,7 +8,7 @@ Configuring Orthanc simply consists in providing a configuration file. Orthanc has numerous configuration that are documented in the `default configuration file -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Resources/Configuration.json>`_. This +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Resources/Configuration.json>`_. This file is in the `JSON <https://en.wikipedia.org/wiki/JSON>`_ file format. You can generate this file file with the following call::
--- a/Sphinx/source/users/debian-packages.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/debian-packages.rst Wed Nov 26 16:48:43 2025 +0100 @@ -108,11 +108,11 @@ This can be done with this sequence of commands:: $ sudo service orthanc stop - $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.9/Orthanc --output-document /usr/sbin/Orthanc + $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.10/Orthanc --output-document /usr/sbin/Orthanc $ sudo chmod +x /usr/sbin/Orthanc $ sudo rm -f /usr/share/orthanc/plugins/*.so - $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.9/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so - $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.9/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so + $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.10/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so + $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.10/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so $ $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc-dicomweb/1.20/libOrthancDicomWeb.so --output-document /usr/share/orthanc/plugins/libOrthancDicomWeb.so $ ...
--- a/Sphinx/source/users/docker.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/docker.rst Wed Nov 26 16:48:43 2025 +0100 @@ -97,13 +97,13 @@ If more stability is required, you can select the official release of Orthanc to be run:: - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.10 Passing additional command-line options (e.g. to make Orthanc verbose) can be done as follows (note the ``/etc/orthanc`` option that is required for Orthanc to find its configuration files):: - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.9 /etc/orthanc --verbose + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.10 /etc/orthanc --verbose Usage, with plugins enabled @@ -119,7 +119,7 @@ Or you can also start a specific version of Orthanc for more stability:: - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.12.10 If you have an interest in the :ref:`Python plugin <python-plugin>`, you can use the ``orthanc-python`` image. The latter image is a @@ -127,7 +127,7 @@ Python 3.7 interpreter. Here is how to start this image:: $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.12.10 Fine-tuning the configuration @@ -141,12 +141,12 @@ You can generate a custom configuration file for Orthanc as follows:: - $ docker run --rm --entrypoint=cat jodogne/orthanc:1.12.9 /etc/orthanc/orthanc.json > /tmp/orthanc.json + $ docker run --rm --entrypoint=cat jodogne/orthanc:1.12.10 /etc/orthanc/orthanc.json > /tmp/orthanc.json Then, edit the just-generated file ``/tmp/orthanc.json`` and restart Orthanc with your updated configuration:: - $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc:1.12.10 *Remark:* These Docker images automatically set the environment variable ``MALLOC_ARENA_MAX`` to ``5`` in order to :ref:`control @@ -179,7 +179,7 @@ version: '3.1' # Secrets are only available since this version of Docker Compose services: orthanc: - image: jodogne/orthanc-plugins:1.12.9 + image: jodogne/orthanc-plugins:1.12.10 command: /run/secrets/ # Path to the configuration files (stored as secrets) ports: - 4242:4242 @@ -228,7 +228,7 @@ container to some path in the filesystem of your Linux host, e.g.:: $ mkdir /tmp/orthanc-db - $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.12.10 Whole-slide imaging support @@ -238,13 +238,13 @@ whole-slide imaging (WSI) <wsi>`. For instance, the following command will start the WSI viewer plugin transparently together with Orthanc:: - $ docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins:1.12.10 Note that we gave the name ``orthanc-wsi`` to this new Docker container. Then, the Dicomizer command-line tool can be invoked as follows:: - $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins:1.12.9 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif + $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins:1.12.10 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif This command needs a few explanations: @@ -272,7 +272,7 @@ instruct the Dicomizer to use `OpenSlide <https://openslide.org/>`__ to decode it by adding the ``--openslide`` option:: - $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins:1.12.9 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs + $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins:1.12.10 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs PostgreSQL and Orthanc inside Docker @@ -293,7 +293,7 @@ $ docker inspect --format '{{ .NetworkSettings.IPAddress }}' some-postgres $ docker inspect --format '{{ .NetworkSettings.Ports }}' some-postgres - $ docker run --rm --entrypoint=cat jodogne/orthanc-plugins:1.12.9 /etc/orthanc/orthanc.json > /tmp/orthanc.json + $ docker run --rm --entrypoint=cat jodogne/orthanc-plugins:1.12.10 /etc/orthanc/orthanc.json > /tmp/orthanc.json .. highlight:: text @@ -314,7 +314,7 @@ Finally, you can start Orthanc:: - $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins:1.12.9 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins:1.12.10 Debugging @@ -325,5 +325,5 @@ For debugging purpose, you can start an interactive bash session as follows:: - $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc:1.12.9 - $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins:1.12.9 + $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc:1.12.10 + $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins:1.12.10
--- a/Sphinx/source/users/docker.rst.BAK Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/docker.rst.BAK Wed Nov 26 16:48:43 2025 +0100 @@ -20,4 +20,4 @@ * The build artifacts can be found in folder ``/root/orthanc/Build``. * This command launches the mainline version. To start a released version, - use e.g. ``jodogne/orthanc-debug:1.12.9``. + use e.g. ``jodogne/orthanc-debug:1.12.10``.
--- a/Sphinx/source/users/man-orthanc.txt Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/man-orthanc.txt Wed Nov 26 16:48:43 2025 +0100 @@ -130,4 +130,4 @@ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -Orthanc 1.12.9 August 2025 ORTHANC(1) +Orthanc 1.12.10 November 2025 ORTHANC(1)
--- a/Sphinx/source/users/rest.rst Wed Nov 26 15:55:48 2025 +0100 +++ b/Sphinx/source/users/rest.rst Wed Nov 26 16:48:43 2025 +0100 @@ -98,7 +98,7 @@ $ curl -X POST -H "Expect:" http://localhost:8042/instances --data-binary @CT.X.1.2.276.0.7230010.dcm The code distribution of Orthanc contains a `sample Python script -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__ that recursively upload the content of some folder into Orthanc using the REST API:: @@ -110,7 +110,7 @@ import the content of ``.zip``, ``.tar.gz`` or ``.tar.bz2`` archives without having to uncompress them first. It also provides more comprehensive command-line options. `Check this script out -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__. +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.10/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__. .. highlight:: perl
