From 865c1b39a3efeade9d53817da3a1079e3a2deccc Mon Sep 17 00:00:00 2001 From: David Gregorczyk Date: Tue, 17 Jun 2025 10:56:45 +0200 Subject: [PATCH 1/9] chore: gitignore; remove unused file. --- .ci/asciidoc-converter/.gitignore | 5 ++++- ...puml-sdpi-p-managed-discovery-option-sequence-diagram.svg | 1 - .gitignore | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) delete mode 100644 .ci/asciidoc-converter/images/target=puml-sdpi-p-managed-discovery-option-sequence-diagram.svg diff --git a/.ci/asciidoc-converter/.gitignore b/.ci/asciidoc-converter/.gitignore index 0b3e3742..d5fba64c 100644 --- a/.ci/asciidoc-converter/.gitignore +++ b/.ci/asciidoc-converter/.gitignore @@ -5,6 +5,8 @@ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 +images + # User-specific stuff .idea/**/workspace.xml .idea/**/tasks.xml @@ -134,4 +136,5 @@ gradle-app.setting ### Gradle Patch ### **/build/ -# End of https://www.toptal.com/developers/gitignore/api/kotlin,gradle,intellij+all \ No newline at end of file +# End of https://www.toptal.com/developers/gitignore/api/kotlin,gradle,intellij+all +/sdpi-supplement/ diff --git a/.ci/asciidoc-converter/images/target=puml-sdpi-p-managed-discovery-option-sequence-diagram.svg b/.ci/asciidoc-converter/images/target=puml-sdpi-p-managed-discovery-option-sequence-diagram.svg deleted file mode 100644 index 19e7cc68..00000000 --- a/.ci/asciidoc-converter/images/target=puml-sdpi-p-managed-discovery-option-sequence-diagram.svg +++ /dev/null @@ -1 +0,0 @@ -SOMDS ProviderSOMDS ProviderDiscovery ProxyDiscovery ProxySOMDS ConsumerSOMDS ConsumerSDPi-P Managed Discovery Optionsecured1Update Network Presencesecured2Retrieve Network Presence3Return Network Presencesecured4Discover BICEPS Services5 Normal SDPi-P CONSUMER / PROVIDER Interactions \ No newline at end of file diff --git a/.gitignore b/.gitignore index db2062ea..6bda53d6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ puml-*.svg *.pdf *.html .asciidoctor +sdpi-supplement \ No newline at end of file From 8e16d182845339aac16f55eb9c4bd733fdf8cc2a Mon Sep 17 00:00:00 2001 From: David Gregorczyk Date: Tue, 17 Jun 2025 10:57:36 +0200 Subject: [PATCH 2/9] chore: various smaller fixes. --- asciidoc/volume1/tf1-ch-10-sdpi-p.adoc | 2 +- asciidoc/volume2/dev-28/tf2-dev-28.adoc | 2 +- asciidoc/volume2/dev-29/tf2-dev-29.adoc | 2 +- asciidoc/volume2/dev-30/tf2-dev-30-summary.adoc | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/asciidoc/volume1/tf1-ch-10-sdpi-p.adoc b/asciidoc/volume1/tf1-ch-10-sdpi-p.adoc index 82af5ff8..cb2df928 100644 --- a/asciidoc/volume1/tf1-ch-10-sdpi-p.adoc +++ b/asciidoc/volume1/tf1-ch-10-sdpi-p.adoc @@ -651,7 +651,7 @@ The <> Actor acts as a man-in-the-middle .SDPi-P Managed Discovery Option - transaction Sequence Diagram [#figure_sdpi-p-managed-discovery-option-sequence-diagram] -[plantuml, target=target=puml-sdpi-p-managed-discovery-option-sequence-diagram, format=svg, format=svg] +[plantuml, target=puml-sdpi-p-managed-discovery-option-sequence-diagram, format=svg, format=svg] .... include::../plantuml/vol1-figure-sdpi-p-managed-discovery-option-sequence-diagram.puml[] .... diff --git a/asciidoc/volume2/dev-28/tf2-dev-28.adoc b/asciidoc/volume2/dev-28/tf2-dev-28.adoc index a1ce4996..856fc0ee 100644 --- a/asciidoc/volume2/dev-28/tf2-dev-28.adoc +++ b/asciidoc/volume2/dev-28/tf2-dev-28.adoc @@ -59,7 +59,7 @@ The {var_label_dev_28_message_contextreport} message is sent whenever a context [[payload_dev_28_notification_cotext]]EpisodicContextReport:: A change report that contains context information. -[#vol2_clause_dev_28_message_contextreport_expected_actions] +[#vol2_clause_dev_28_message_notification_expected_actions] ====== Expected Actions When a <> sends this message, there is no expected action or required responses. diff --git a/asciidoc/volume2/dev-29/tf2-dev-29.adoc b/asciidoc/volume2/dev-29/tf2-dev-29.adoc index fc77e2fe..e7ed3b82 100644 --- a/asciidoc/volume2/dev-29/tf2-dev-29.adoc +++ b/asciidoc/volume2/dev-29/tf2-dev-29.adoc @@ -64,7 +64,7 @@ The {var_label_dev_29_message_notification} message is sent whenever a report of [[payload_dev_29_notification_operational_state]]EpisodicOperationalStateReport:: A change report that contains updated operational state information. [[payload_dev_29_notification_waveform]]WaveformStream:: A message to transmit a set of samples of one or more waveforms. -[#vol2_clause_dev_29_message_contextreport_expected_actions] +[#vol2_clause_dev_29_message_notification_actions] ====== Expected Actions When a <> sends this message, there is no expected action or required responses. diff --git a/asciidoc/volume2/dev-30/tf2-dev-30-summary.adoc b/asciidoc/volume2/dev-30/tf2-dev-30-summary.adoc index d2a15072..cd2b99a3 100644 --- a/asciidoc/volume2/dev-30/tf2-dev-30-summary.adoc +++ b/asciidoc/volume2/dev-30/tf2-dev-30-summary.adoc @@ -1,3 +1,3 @@ -// DEV-30 Transaction Summary +// DEV-32 Transaction Summary -Retrieve the MDIB of a <> a <> is interested in. +Retrieve historic <> data of a <> a <> is interested in. \ No newline at end of file From 8e9221416b4d8c73ec9463b91f7486b40e453dbc Mon Sep 17 00:00:00 2001 From: David Gregorczyk Date: Tue, 17 Jun 2025 10:57:53 +0200 Subject: [PATCH 3/9] feat: add baseline content for history service. --- .../plantuml/vol2-figure-dev-32-sequence.puml | 22 ++ .../volume2/dev-32/tf2-ch-a-mdpws-dev-32.adoc | 189 ++++++++++++++++++ .../volume2/dev-32/tf2-dev-32-summary.adoc | 3 + asciidoc/volume2/dev-32/tf2-dev-32.adoc | 85 ++++++++ asciidoc/volume2/tf2-ch-a-mdpws.adoc | 3 + asciidoc/volume2/tf2-main.adoc | 3 + 6 files changed, 305 insertions(+) create mode 100644 asciidoc/plantuml/vol2-figure-dev-32-sequence.puml create mode 100644 asciidoc/volume2/dev-32/tf2-ch-a-mdpws-dev-32.adoc create mode 100644 asciidoc/volume2/dev-32/tf2-dev-32-summary.adoc create mode 100644 asciidoc/volume2/dev-32/tf2-dev-32.adoc diff --git a/asciidoc/plantuml/vol2-figure-dev-32-sequence.puml b/asciidoc/plantuml/vol2-figure-dev-32-sequence.puml new file mode 100644 index 00000000..4a1357ad --- /dev/null +++ b/asciidoc/plantuml/vol2-figure-dev-32-sequence.puml @@ -0,0 +1,22 @@ +@startuml + +!include plantuml/common_style.inc.puml +autonumber + +!global $str_somds_consumer = "SOMDS Consumer" +!global $str_somds_provider = "SOMDS Provider" + +participant "$str_somds_consumer" as consumer +participant "$str_somds_provider" as provider + +==Retrieve Archive Data [DEV-32]== + +consumer -> provider: Subscribe(Filter) + +loop +consumer <<-- provider: ChangeSequenceReport([LocalizedTexts], [InitialMdib], [Reports]) +end + +consumer <-- provider: SubscriptionEnd + +@enduml \ No newline at end of file diff --git a/asciidoc/volume2/dev-32/tf2-ch-a-mdpws-dev-32.adoc b/asciidoc/volume2/dev-32/tf2-ch-a-mdpws-dev-32.adoc new file mode 100644 index 00000000..9152155a --- /dev/null +++ b/asciidoc/volume2/dev-32/tf2-ch-a-mdpws-dev-32.adoc @@ -0,0 +1,189 @@ +:var_uri_ws_eventing_notification: https://www.w3.org/Submission/2006/SUBM-WS-Eventing-20060315/#Notifications +:var_label_dev_29_message_alertreport: EpisodicAlertReport +:var_label_dev_29_message_metricreport: EpisodicMetricReport +:var_label_dev_29_message_componentreport: EpisodicComponentReport +:var_label_dev_29_message_descriptionmodificationreport: DescriptionModificationReport +:var_label_dev_29_message_operationalstatereport: EpisodicOperationalStateReport +:var_label_dev_29_message_waveformstream: WaveformStream +:var_uri_dpws_messaging: http://docs.oasis-open.org/ws-dd/dpws/1.1/os/wsdd-dpws-1.1-spec-os.html#_Toc228672084 + +[#vol2_clause_appendix_mdpws_dev_29] +==== MDPWS: Publish BICEPS Update Reports [DEV-29] + +This section specifies the MDPWS data transmission for messages defined in <>. + +// ---------- EpisodicAlertReport --------- + + +===== {var_label_dev_29_message_alertreport} Message + +The <> message is encoded by using {var_uri_dpws_messaging}[DPWS Messaging]. + +====== Referenced Standards + +* <> {var_uri_dpws_messaging}[Section 2 Messaging] +* <> msg:EpisodicAlertReport + +====== Message Outline + +.EpisodicAlertReport message +[source#vol2_clause_appendix_a_mdpws_dev_29_alertreport,xml] +---- +include::../../listings/vol2-clause-appendix-a-mdpws-dev-29-alertreport.xml[] +---- + +:var_trigger_events_ref: <> +include::../dev-a-default-trigger-events.adoc[] + +====== Message Semantics + +`s12:Envelope/s12:Body/msg:EpisodicAlertReport`:: Updated alert information of a <>. + +:var_expected_actions_ref: <> +include::../dev-a-default-expected-actions.adoc[] + +// ---------- EpisodicMetricReport --------- + +===== {var_label_dev_29_message_metricreport} Message + +The <> message is encoded by using {var_uri_dpws_messaging}[DPWS Messaging]. + +====== Referenced Standards + +* <> {var_uri_dpws_messaging}[Section 2 Messaging] +* <> msg:EpisodicMetricReport + +====== Message Outline + +.EpisodicMetricReport message +[source#vol2_clause_appendix_a_mdpws_dev_29_metricreport,xml] +---- +include::../../listings/vol2-clause-appendix-a-mdpws-dev-29-metricreport.xml[] +---- + +:var_trigger_events_ref: <> +include::../dev-a-default-trigger-events.adoc[] + +====== Message Semantics + +`s12:Envelope/s12:Body/msg:EpisodicMetricReport`:: Updated metric information of a <>. + +:var_expected_actions_ref: <> +include::../dev-a-default-expected-actions.adoc[] + + +// ---------- EpisodicComponentReport --------- + +===== {var_label_dev_29_message_componentreport} Message + +The <> message is encoded by using {var_uri_dpws_messaging}[DPWS Messaging]. + +====== Referenced Standards + +* <> {var_uri_dpws_messaging}[Section 2 Messaging] +* <> msg:EpisodicComponentReport + +====== Message Outline + +.EpisodicComponentReport message +[source#vol2_clause_appendix_a_mdpws_dev_29_componentreport,xml] +---- +include::../../listings/vol2-clause-appendix-a-mdpws-dev-29-componentreport.xml[] +---- + +:var_trigger_events_ref: <> +include::../dev-a-default-trigger-events.adoc[] + +====== Message Semantics + +`s12:Envelope/s12:Body/msg:EpisodicComponentReport`:: Updated component information of a <>. + +:var_expected_actions_ref: <> +include::../dev-a-default-expected-actions.adoc[] + +// ---------- DescriptionModificationReport --------- + +===== {var_label_dev_29_message_descriptionmodificationreport} Message + +The <> message is encoded by using {var_uri_dpws_messaging}[DPWS Messaging]. + +====== Referenced Standards + +* <> {var_uri_dpws_messaging}[Section 2 Messaging] +* <> msg:DescriptionModificationReport + +====== Message Outline + +.DescriptionModificationReport message +[source#vol2_clause_appendix_a_mdpws_dev_29_descriptionmodificationreport,xml] +---- +include::../../listings/vol2-clause-appendix-a-mdpws-dev-29-descriptionmodificationreport.xml[] +---- + +:var_trigger_events_ref: <> +include::../dev-a-default-trigger-events.adoc[] + +====== Message Semantics + +`s12:Envelope/s12:Body/msg:DescriptionModificationReport`:: Updated description modification information of a <>. + +:var_expected_actions_ref: <> +include::../dev-a-default-expected-actions.adoc[] + +// ---------- EpisodicOperationalStateReport --------- + +===== {var_label_dev_29_message_operationalstatereport} Message + +The <> message is encoded by using {var_uri_dpws_messaging}[DPWS Messaging]. + +====== Referenced Standards + +* <> {var_uri_dpws_messaging}[Section 2 Messaging] +* <> msg:EpisodicOperationalStateReport + +====== Message Outline + +.EpisodicOperationalStateReport message +[source#vol2_clause_appendix_a_mdpws_dev_29_operationalstatereport,xml] +---- +include::../../listings/vol2-clause-appendix-a-mdpws-dev-29-operationalstatereport.xml[] +---- + +:var_trigger_events_ref: <> +include::../dev-a-default-trigger-events.adoc[] + +====== Message Semantics + +`s12:Envelope/s12:Body/msg:EpisodicOperationalStateReport`:: Updated operational state information of a <>. + +:var_expected_actions_ref: <> +include::../dev-a-default-expected-actions.adoc[] + +// ---------- WaveformStream --------- + +===== {var_label_dev_29_message_waveformstream} Message + +The <> message is encoded by using {var_uri_dpws_messaging}[DPWS Messaging]. + +====== Referenced Standards + +* <> {var_uri_dpws_messaging}[Section 2 Messaging] +* <> msg:WaveformStream + +====== Message Outline + +.WaveformStream message +[source#vol2_clause_appendix_a_mdpws_dev_29_waveformstream,xml] +---- +include::../../listings/vol2-clause-appendix-a-mdpws-dev-29-waveformstream.xml[] +---- + +:var_trigger_events_ref: <> +include::../dev-a-default-trigger-events.adoc[] + +====== Message Semantics + +`s12:Envelope/s12:Body/msg:WaveformStream`:: Waveform stream of a <>. + +:var_expected_actions_ref: <> +include::../dev-a-default-expected-actions.adoc[] \ No newline at end of file diff --git a/asciidoc/volume2/dev-32/tf2-dev-32-summary.adoc b/asciidoc/volume2/dev-32/tf2-dev-32-summary.adoc new file mode 100644 index 00000000..77d3f9e5 --- /dev/null +++ b/asciidoc/volume2/dev-32/tf2-dev-32-summary.adoc @@ -0,0 +1,3 @@ +// DEV-32 Transaction Summary + +Establishes a subscription (see <>) and produces a stream of messages that reflect historic <> data. \ No newline at end of file diff --git a/asciidoc/volume2/dev-32/tf2-dev-32.adoc b/asciidoc/volume2/dev-32/tf2-dev-32.adoc new file mode 100644 index 00000000..785be94d --- /dev/null +++ b/asciidoc/volume2/dev-32/tf2-dev-32.adoc @@ -0,0 +1,85 @@ +:var_transaction_id: DEV-32 + +:var_label_dev_32_message_notification: Change Sequence Report + + +//reset|+1|off +[#vol2_clause_dev_32,sdpi_offset=32] +=== Retrieve Archive Data [{var_transaction_id}] + +==== Scope + +include::tf2-dev-32-summary.adoc[] + +==== Actor Roles + +.Actor Roles [{var_transaction_id}] +[cols="1,2"] +|=== +|Actor |Roles + +|<> +|Once subscribed, listens for messages to retrieve historic <> reports. + +|<> +|While a subscription is running, the <> delivers messages that reflect historic <> reports. + +|=== + +==== Referenced Standards + +* <> Section 7.4 Message Model + +==== Messages + +.Message Interaction Diagram [{var_transaction_id}] +[plantuml#vol2_figure_dev_32_sequence, target=puml-dev-32-sequence, format=svg] +.... +include::../../plantuml/vol2-figure-dev-32-sequence.puml[] +.... + +[#vol2_clause_dev_32_message_subscribe] +===== Subscribe Message + +The Subscribe message used to establish a historic <> data stream. + +[#vol2_clause_dev_32_message_subscribe_trigger_events] +====== Trigger Events + +The Subscribe message is sent whenever a <> wants to access historic <> data. + +[#vol2_clause_dev_32_message_subscribe_semantics] +====== Message Semantics + +[[payload_dev_32_filter]]Filter:: A generic filter expression defined by other means. + +[#vol2_clause_dev_32_message_subscribe_expected_actions] +====== Expected Actions + +This message is part of a subscription establishment process as described in <>. Once the subscription is running, the <> sends <> messages. + +// ---------- Notification --------- + +[#vol2_clause_dev_32_message_notification] +===== {var_label_dev_32_message_notification} Message + +The {var_label_dev_32_message_notification} messages contain historic <> data and are delivered in a 1:1 relationship by a <> to a <>. + +[#vol2_clause_dev_32_message_notification_trigger_events] +====== Trigger Events + +{var_label_dev_32_message_notification} messages are sent for as long as there is requested historic <> data left to be transmitted to the subscribed <> based on filter criteria specified by <>. + +[#vol2_clause_dev_32_message_notification_semantics] +====== Message Semantics + +[[payload_dev_32_notification_changesequencereport]]ChangeSequenceReport:: A report that contains historic <> data. + +[#vol2_clause_dev_32_message_notification_expected_actions] +====== Expected Actions + +When a <> sends this message, there is no expected action or required responses. + +[#vol2_clause_dev_32_publish_biceps_update_reports_ses] +include::../dev-x-default-ses-secured-mode.adoc[] + diff --git a/asciidoc/volume2/tf2-ch-a-mdpws.adoc b/asciidoc/volume2/tf2-ch-a-mdpws.adoc index bbd25634..7618acf4 100644 --- a/asciidoc/volume2/tf2-ch-a-mdpws.adoc +++ b/asciidoc/volume2/tf2-ch-a-mdpws.adoc @@ -38,6 +38,9 @@ include::dev-29/tf2-ch-a-mdpws-dev-29.adoc[] //=== Retrieve BICEPS Content [DEV-30] include::dev-30/tf2-ch-a-mdpws-dev-30.adoc[] +include::dev-32/tf2-ch-a-mdpws-dev-32.adoc[] + + //=== Retrieve Localization Information [DEV-33] // //=== Announce Network Departure [DEV-34] diff --git a/asciidoc/volume2/tf2-main.adoc b/asciidoc/volume2/tf2-main.adoc index 7f3f40be..1b030043 100644 --- a/asciidoc/volume2/tf2-main.adoc +++ b/asciidoc/volume2/tf2-main.adoc @@ -27,6 +27,9 @@ include::dev-29/tf2-dev-29.adoc[] //=== Retrieve BICEPS Content [DEV-30] include::dev-30/tf2-dev-30.adoc[] +//=== Retrieve BICEPS Content [DEV-30] +include::dev-32/tf2-dev-32.adoc[] + //=== Announce Network Departure [DEV-34] include::dev-34/tf2-dev-34.adoc[] From 2ff5238fa21190c224f6e0c9e93d67b24e1d738e Mon Sep 17 00:00:00 2001 From: David Gregorczyk Date: Tue, 17 Jun 2025 12:49:58 +0200 Subject: [PATCH 4/9] feat: collapse toc on startup. --- asciidoc/docinfo.html | 10 +++++++++- asciidoc/sdpi-supplement.adoc | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/asciidoc/docinfo.html b/asciidoc/docinfo.html index 0c3b3101..87ec38be 100644 --- a/asciidoc/docinfo.html +++ b/asciidoc/docinfo.html @@ -164,7 +164,7 @@ } } - // enable collapsible toc + // enable collapsible toc - function is called once the DOM is ready $(function () { // Add a new container for the tocify toc into the existing toc so we can re-use its // styling @@ -207,6 +207,14 @@ $(window).resize(handleTocOnResize); handleTocOnResize(); + + // Perform minimal scrolling to let the toc collapse + // Alternative available? + const thisPage = new URL(window.location.href); + if (thisPage.hash === "") { + window.scrollTo(0, 1); + window.scrollTo(0, 0); + } }); // Set up before/after handlers diff --git a/asciidoc/sdpi-supplement.adoc b/asciidoc/sdpi-supplement.adoc index baacc8af..8767e1a0 100644 --- a/asciidoc/sdpi-supplement.adoc +++ b/asciidoc/sdpi-supplement.adoc @@ -28,6 +28,7 @@ :ihe_supplement_sdpi_public_comment_submission_deadline: N/A {empty} + + ++++