You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/09/05 05:02:26 UTC

[isis] branch master updated: ISIS-2426: switch from PlantUml to Kroki (Antora site build) also adds some experimental diagrams to the site (wip)

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 993281a  ISIS-2426: switch from PlantUml to Kroki (Antora site build) also adds some experimental diagrams to the site (wip)
993281a is described below

commit 993281a8e407314003bd2bf49a8c4b6eac160c98
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Sep 5 07:00:27 2020 +0200

    ISIS-2426: switch from PlantUml to Kroki (Antora site build)
    also adds some experimental diagrams to the site (wip)
---
 .github/workflows/ci-build-site-no-push.yml        |   3 +-
 antora/components/system/antora.yml                |  23 +++++
 antora/components/system/modules/ROOT/nav.adoc     |  10 ++
 .../system/modules/ROOT/pages/about.adoc           |  36 +++++++
 .../system/modules/ROOT/pages/l1/C4.puml           | 106 +++++++++++++++++++++
 .../system/modules/ROOT/pages/l1/C4_Component.puml |  55 +++++++++++
 .../system/modules/ROOT/pages/l1/C4_Container.puml |  59 ++++++++++++
 .../system/modules/ROOT/pages/l1/C4_Context.puml   | 102 ++++++++++++++++++++
 .../system/modules/ROOT/pages/l1/l1.adoc           |  15 +++
 .../system/modules/ROOT/pages/l1/l2.adoc           |  12 +++
 .../system/modules/ROOT/pages/l1/system.adoc       |  14 +++
 antora/playbooks/site.yml                          |  10 +-
 .../isis/testdomain/{ => util}/Util_H2Console.java |   2 +-
 13 files changed, 442 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/ci-build-site-no-push.yml b/.github/workflows/ci-build-site-no-push.yml
index 1f1e23a..c3fde1d 100644
--- a/.github/workflows/ci-build-site-no-push.yml
+++ b/.github/workflows/ci-build-site-no-push.yml
@@ -63,7 +63,8 @@ jobs:
       working-directory: ${{ env.PROJECT_ROOT_PATH }}
       # we install the 'node' modules into the project root under 'node_modules', 
       # because we have no privileges to install them globally with -g option
-      run: npm i @antora/cli@2.3.3 @antora/site-generator-default@2.3.3 asciidoctor-plantuml@1.5.0
+      run: npm i @antora/cli@2.3.3 @antora/site-generator-default@2.3.3  @asciidoctor/core@2.2.0 asciidoctor-kroki
+      #asciidoctor-plantuml@1.5.0
       
     - name: Print Antora Version
       shell: bash
diff --git a/antora/components/system/antora.yml b/antora/components/system/antora.yml
new file mode 100644
index 0000000..76d192e
--- /dev/null
+++ b/antora/components/system/antora.yml
@@ -0,0 +1,23 @@
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+
+name: system
+title: "System Diagram"
+version: latest
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/system/modules/ROOT/nav.adoc b/antora/components/system/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..f056608
--- /dev/null
+++ b/antora/components/system/modules/ROOT/nav.adoc
@@ -0,0 +1,10 @@
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+* Level 1
+
+** xref:system:ROOT:l1/system.adoc[System Diagram]
+
+
+
+
diff --git a/antora/components/system/modules/ROOT/pages/about.adoc b/antora/components/system/modules/ROOT/pages/about.adoc
new file mode 100644
index 0000000..724387a
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/about.adoc
@@ -0,0 +1,36 @@
+= System
+:page-role: -toc
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+
+This table summarises all c4 Diagrams.
+
+[cols="1,2,4a,3a"]
+|===
+| Level (c4)
+| Diagram Type
+| Summary
+| Detail
+
+| 1
+| System
+| Maven Core Modules
+|
+* xref:system:ROOT:l1/system.adoc[System Overview]
+
+| 2
+| System
+| Testing Links (Interactive)
+|
+* xref:system:ROOT:l1/l1.adoc[L1]
+
+| 2
+| System
+| Testing Links (Interactive)
+|
+* xref:system:ROOT:l1/l2.adoc[L2]
+
+|===
+
+
diff --git a/antora/components/system/modules/ROOT/pages/l1/C4.puml b/antora/components/system/modules/ROOT/pages/l1/C4.puml
new file mode 100644
index 0000000..d28711a
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/C4.puml
@@ -0,0 +1,106 @@
+' C4-PlantUML, version 1.0.0
+' https://github.com/RicardoNiepel/C4-PlantUML
+
+' Colors
+' ##################################
+
+!define ELEMENT_FONT_COLOR #FFFFFF
+
+' Styling
+' ##################################
+
+!define TECHN_FONT_SIZE 12
+
+skinparam defaultTextAlignment center
+
+skinparam wrapWidth 200
+skinparam maxMessageSize 150
+
+skinparam rectangle {
+    StereotypeFontSize 12
+    shadowing false
+}
+
+skinparam database {
+    StereotypeFontSize 12
+    shadowing false
+}
+
+skinparam Arrow {
+    Color #666666
+    FontColor #666666
+    FontSize 12
+}
+
+skinparam rectangle<<boundary>> {
+    Shadowing false
+    StereotypeFontSize 0
+    FontColor #444444
+    BorderColor #444444
+    BorderStyle dashed
+}
+
+' Layout
+' ##################################
+
+!definelong LAYOUT_AS_SKETCH
+skinparam backgroundColor #EEEBDC
+skinparam handwritten true
+skinparam defaultFontName "Comic Sans MS"
+center footer <font color=red>Warning:</font> Created for discussion, needs to be validated
+!enddefinelong
+
+!define LAYOUT_TOP_DOWN top to bottom direction
+!define LAYOUT_LEFT_RIGHT left to right direction
+
+' Boundaries
+' ##################################
+
+!define Boundary(e_alias, e_label) rectangle "==e_label" <<boundary>> as e_alias
+!define Boundary(e_alias, e_label, e_type) rectangle "==e_label\n<size:TECHN_FONT_SIZE>[e_type]</size>" <<boundary>> as e_alias
+
+' Relationship
+' ##################################
+
+!define Rel_(e_alias1, e_alias2, e_label, e_direction="") e_alias1 e_direction e_alias2 : "===e_label"
+!define Rel_(e_alias1, e_alias2, e_label, e_techn, e_direction="") e_alias1 e_direction e_alias2 : "===e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//"
+
+!define Rel(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-->")
+!define Rel(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-->")
+
+!define Rel_Back(e_to, e_from, e_label) Rel_(e_to, e_from, e_label, "<--")
+!define Rel_Back(e_to, e_from, e_label, e_techn) Rel_(e_to, e_from, e_label, e_techn, "<--")
+
+!define Rel_Neighbor(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "->")
+!define Rel_Neighbor(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "->")
+
+!define Rel_Back_Neighbor(e_to, e_from, e_label) Rel_(e_to, e_from, e_label, "<-")
+!define Rel_Back_Neighbor(e_to, e_from, e_label, e_techn) Rel_(e_to, e_from, e_label, e_techn, "<-")
+
+!define Rel_D(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-DOWN->")
+!define Rel_D(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-DOWN->")
+!define Rel_Down(e_from,e_to, e_label) Rel_D(e_from,e_to, e_label)
+!define Rel_Down(e_from,e_to, e_label, e_techn) Rel_D(e_from,e_to, e_label, e_techn)
+
+!define Rel_U(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-UP->")
+!define Rel_U(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-UP->")
+!define Rel_Up(e_from,e_to, e_label) Rel_U(e_from,e_to, e_label)
+!define Rel_Up(e_from,e_to, e_label, e_techn) Rel_U(e_from,e_to, e_label, e_techn)
+
+!define Rel_L(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-LEFT->")
+!define Rel_L(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-LEFT->")
+!define Rel_Left(e_from,e_to, e_label) Rel_L(e_from,e_to, e_label)
+!define Rel_Left(e_from,e_to, e_label, e_techn) Rel_L(e_from,e_to, e_label, e_techn)
+
+!define Rel_R(e_from,e_to, e_label) Rel_(e_from,e_to, e_label, "-RIGHT->")
+!define Rel_R(e_from,e_to, e_label, e_techn) Rel_(e_from,e_to, e_label, e_techn, "-RIGHT->")
+!define Rel_Right(e_from,e_to, e_label) Rel_R(e_from,e_to, e_label)
+!define Rel_Right(e_from,e_to, e_label, e_techn) Rel_R(e_from,e_to, e_label, e_techn)
+
+' Layout Helpers
+' ##################################
+
+!define Lay_D(e_from, e_to) e_from -[hidden]D- e_to
+!define Lay_U(e_from, e_to) e_from -[hidden]U- e_to
+!define Lay_R(e_from, e_to) e_from -[hidden]R- e_to
+!define Lay_L(e_from, e_to) e_from -[hidden]L- e_to
\ No newline at end of file
diff --git a/antora/components/system/modules/ROOT/pages/l1/C4_Component.puml b/antora/components/system/modules/ROOT/pages/l1/C4_Component.puml
new file mode 100644
index 0000000..542954b
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/C4_Component.puml
@@ -0,0 +1,55 @@
+'!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
+' uncomment the following line and comment the first to use locally
+!include C4_Container.puml
+
+' Scope: A single container.
+' Primary elements: Components within the container in scope.
+' Supporting elements: Containers (within the software system in scope) plus people and software systems directly connected to the components.
+' Intended audience: Software architects and developers.
+
+' Colors
+' ##################################
+
+!define COMPONENT_BG_COLOR #85BBF0
+
+' Styling
+' ##################################
+
+skinparam rectangle<<component>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor #000000
+    BackgroundColor COMPONENT_BG_COLOR
+    BorderColor #78A8D8
+}
+
+skinparam database<<component>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor #000000
+    BackgroundColor COMPONENT_BG_COLOR
+    BorderColor #78A8D8
+}
+
+' Layout
+' ##################################
+
+!definelong LAYOUT_WITH_LEGEND
+hide stereotype
+legend right
+|=              |= Type |
+|<PERSON_BG_COLOR>      | person |
+|<EXTERNAL_PERSON_BG_COLOR>      | external person |
+|<SYSTEM_BG_COLOR>   | system |
+|<EXTERNAL_SYSTEM_BG_COLOR>      | external system |
+|<CONTAINER_BG_COLOR>   | container |
+|<COMPONENT_BG_COLOR>   | component |
+endlegend
+!enddefinelong
+
+' Elements
+' ##################################
+
+!define Component(e_alias, e_label, e_techn) rectangle "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<component>> as e_alias
+!define Component(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<component>> as e_alias
+
+!define ComponentDb(e_alias, e_label, e_techn) database "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<component>> as e_alias
+!define ComponentDb(e_alias, e_label, e_techn, e_descr) database "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<component>> as e_alias
diff --git a/antora/components/system/modules/ROOT/pages/l1/C4_Container.puml b/antora/components/system/modules/ROOT/pages/l1/C4_Container.puml
new file mode 100644
index 0000000..a43a48b
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/C4_Container.puml
@@ -0,0 +1,59 @@
+'!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
+' uncomment the following line and comment the first to use locally
+!include C4_Context.puml
+
+' Scope: A single software system.
+' Primary elements: Containers within the software system in scope.
+' Supporting elements: People and software systems directly connected to the containers.
+' Intended audience: Technical people inside and outside of the software development team; including software architects, developers and operations/support staff.
+
+' Colors
+' ##################################
+
+!define CONTAINER_BG_COLOR #438DD5
+
+' Styling
+' ##################################
+
+skinparam rectangle<<container>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor CONTAINER_BG_COLOR
+    BorderColor #3C7FC0
+}
+
+skinparam database<<container>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor CONTAINER_BG_COLOR
+    BorderColor #3C7FC0
+}
+
+' Layout
+' ##################################
+
+!definelong LAYOUT_WITH_LEGEND
+hide stereotype
+legend right
+|=              |= Type |
+|<PERSON_BG_COLOR>      | person |
+|<EXTERNAL_PERSON_BG_COLOR>      | external person |
+|<SYSTEM_BG_COLOR>   | system |
+|<EXTERNAL_SYSTEM_BG_COLOR>      | external system |
+|<CONTAINER_BG_COLOR>   | container |
+endlegend
+!enddefinelong
+
+' Elements
+' ##################################
+
+!define Container(e_alias, e_label, e_techn) rectangle "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<container>> as e_alias
+!define Container(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<container>> as e_alias
+
+!define ContainerDb(e_alias, e_label, e_techn) database "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//" <<container>> as e_alias
+!define ContainerDb(e_alias, e_label, e_techn, e_descr) database "==e_label\n//<size:TECHN_FONT_SIZE>[e_techn]</size>//\n\n e_descr" <<container>> as e_alias
+
+' Boundaries
+' ##################################
+
+!define Container_Boundary(e_alias, e_label) Boundary(e_alias, e_label, "Container")
\ No newline at end of file
diff --git a/antora/components/system/modules/ROOT/pages/l1/C4_Context.puml b/antora/components/system/modules/ROOT/pages/l1/C4_Context.puml
new file mode 100644
index 0000000..e7eef90
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/C4_Context.puml
@@ -0,0 +1,102 @@
+'!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4.puml
+' uncomment the following line and comment the first to use locally
+!include C4.puml
+
+' Scope: A single software system.
+' Primary elements: The software system in scope.
+' Supporting elements: People and software systems directly connected to the software system in scope.
+' Intended audience: Everybody, both technical and non-technical people, inside and outside of the software development team.
+
+' Colors
+' ##################################
+
+!define PERSON_BG_COLOR #08427B
+!define EXTERNAL_PERSON_BG_COLOR #686868
+!define SYSTEM_BG_COLOR #1168BD
+!define EXTERNAL_SYSTEM_BG_COLOR #999999
+
+' Styling
+' ##################################
+
+skinparam rectangle<<person>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor PERSON_BG_COLOR
+    BorderColor #073B6F
+}
+
+skinparam rectangle<<external_person>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor EXTERNAL_PERSON_BG_COLOR
+    BorderColor #8A8A8A
+}
+
+skinparam rectangle<<system>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor SYSTEM_BG_COLOR
+    BorderColor #3C7FC0
+}
+
+skinparam rectangle<<external_system>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor EXTERNAL_SYSTEM_BG_COLOR
+    BorderColor #8A8A8A
+}
+
+skinparam database<<system>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor SYSTEM_BG_COLOR
+    BorderColor #3C7FC0
+}
+
+skinparam database<<external_system>> {
+    StereotypeFontColor ELEMENT_FONT_COLOR
+    FontColor ELEMENT_FONT_COLOR
+    BackgroundColor EXTERNAL_SYSTEM_BG_COLOR
+    BorderColor #8A8A8A
+}
+
+' Layout
+' ##################################
+
+!definelong LAYOUT_WITH_LEGEND
+hide stereotype
+legend right
+|=              |= Type |
+|<PERSON_BG_COLOR>      | person |
+|<EXTERNAL_PERSON_BG_COLOR>      | external person |
+|<SYSTEM_BG_COLOR>   | system |
+|<EXTERNAL_SYSTEM_BG_COLOR>      | external system |
+endlegend
+!enddefinelong
+
+' Elements
+' ##################################
+
+!define Person(e_alias, e_label) rectangle "==e_label" <<person>> as e_alias
+!define Person(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<person>> as e_alias
+
+!define Person_Ext(e_alias, e_label) rectangle "==e_label" <<external_person>> as e_alias
+!define Person_Ext(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<external_person>> as e_alias
+
+!define System(e_alias, e_label) rectangle "==e_label" <<system>> as e_alias
+!define System(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<system>> as e_alias
+
+!define System_Ext(e_alias, e_label) rectangle "==e_label" <<external_system>> as e_alias
+!define System_Ext(e_alias, e_label, e_descr) rectangle "==e_label\n\n e_descr" <<external_system>> as e_alias
+
+!define SystemDb(e_alias, e_label) database "==e_label" <<system>> as e_alias
+!define SystemDb(e_alias, e_label, e_descr) database "==e_label\n\n e_descr" <<system>> as e_alias
+
+!define SystemDb_Ext(e_alias, e_label) database "==e_label" <<external_system>> as e_alias
+!define SystemDb_Ext(e_alias, e_label, e_descr) database "==e_label\n\n e_descr" <<external_system>> as e_alias
+
+' Boundaries
+' ##################################
+
+!define Enterprise_Boundary(e_alias, e_label) Boundary(e_alias, e_label, "Enterprise")
+!define System_Boundary(e_alias, e_label) Boundary(e_alias, e_label, "System")
\ No newline at end of file
diff --git a/antora/components/system/modules/ROOT/pages/l1/l1.adoc b/antora/components/system/modules/ROOT/pages/l1/l1.adoc
new file mode 100644
index 0000000..abc1d2b
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/l1.adoc
@@ -0,0 +1,15 @@
+[plantuml%interactive, l1, svg, format="svg", opts="inline", id="l1", width="800px"]
+----
+@startuml
+!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
+
+Person(personAlias, "Label", "Optional Description")
+Container(containerAlias, "Label", "Technology", "Optional Description")
+System(systemAlias, "Label", "Optional Description")
+note right
+[[l2.svg]] [[l2.adoc]]
+end note
+
+Rel(personAlias, containerAlias, "Label", "Optional Technology")
+@enduml
+----
diff --git a/antora/components/system/modules/ROOT/pages/l1/l2.adoc b/antora/components/system/modules/ROOT/pages/l1/l2.adoc
new file mode 100644
index 0000000..869d76d
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/l2.adoc
@@ -0,0 +1,12 @@
+[plantuml%interactive, l2, svg, format="svg", id="l2", width="800px"]
+----
+@startuml
+!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
+
+System(systemAlias, "Label", "L2")
+note right
+[[l1.svg]] [[l1.adoc]]
+end note
+
+@enduml
+----
diff --git a/antora/components/system/modules/ROOT/pages/l1/system.adoc b/antora/components/system/modules/ROOT/pages/l1/system.adoc
new file mode 100644
index 0000000..eb6a35c
--- /dev/null
+++ b/antora/components/system/modules/ROOT/pages/l1/system.adoc
@@ -0,0 +1,14 @@
+= System
+
+WARNING: this is work-in-progress.
+
+[plantuml%interactive, level-1-system, svg]
+----
+@startuml
+!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
+Person(personAlias, "Label", "Optional Description")
+Container(containerAlias, "Label", "Technology", "Optional Description")
+System(systemAlias, "Label", "Optional Description")
+Rel(personAlias, containerAlias, "Label", "Optional Technology")
+@enduml
+----
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 4247e7f..dbe0649 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -39,7 +39,9 @@ content:
     - url: .
       start_path: antora/components/setupguide # setupguide
       branches: HEAD
-
+    - url: .
+      start_path: antora/components/system # system
+      branches: HEAD
 
 # api
     - url: .
@@ -311,14 +313,16 @@ ui:
 
 asciidoc:
   extensions:
-    - asciidoctor-plantuml
+    - asciidoctor-kroki # requires: npm i ... @asciidoctor/core@2.2.0 asciidoctor-kroki
+#    - asciidoctor-plantuml # requires: npm i ... asciidoctor-plantuml@1.5.0
     - ./antora/lib/lorem
     - ./antora/lib/jira-issue
   attributes:
     experimental: ""
     idprefix: ""
     idseparator: "-"
-    plantuml-server-url: "http://www.plantuml.com/plantuml"
+    kroki-fetch-diagram: false
+#    plantuml-server-url: "http://www.plantuml.com/plantuml"
     page-isisrel: "2.0.0-M4"
 
 output:
diff --git a/examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/Util_H2Console.java b/examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/util/Util_H2Console.java
similarity index 96%
rename from examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/Util_H2Console.java
rename to examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/util/Util_H2Console.java
index bf5b93a..bfafaa0 100644
--- a/examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/Util_H2Console.java
+++ b/examples/smoketests/stable/src/main/java/org/apache/isis/testdomain/util/Util_H2Console.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.testdomain;
+package org.apache.isis.testdomain.util;
 
 import java.sql.SQLException;