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 2022/03/02 07:49:20 UTC

[isis] branch master updated: ISIS-2877: Renderer to support explicit html rendering

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 23d3faf  ISIS-2877: Renderer<T> to support explicit html rendering
23d3faf is described below

commit 23d3faf988fb482083cc4d9b39b4c99a838b63e7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Mar 2 08:48:16 2022 +0100

    ISIS-2877: Renderer<T> to support explicit html rendering
---
 .../org/apache/isis/applib/value/semantics/Renderer.java     | 11 +++++++++--
 .../facets/object/title/parser/TitleFacetFromValueFacet.java |  6 +++---
 .../metamodel/facets/object/value/ValueFacetAbstract.java    |  2 +-
 .../valuesemantics/ApplicationFeatureIdValueSemantics.java   |  2 +-
 .../metamodel/valuesemantics/BigDecimalValueSemantics.java   |  2 +-
 .../metamodel/valuesemantics/BigIntegerValueSemantics.java   |  2 +-
 .../core/metamodel/valuesemantics/BlobValueSemantics.java    |  2 +-
 .../metamodel/valuesemantics/BookmarkValueSemantics.java     |  2 +-
 .../core/metamodel/valuesemantics/BooleanValueSemantics.java |  2 +-
 .../core/metamodel/valuesemantics/ByteValueSemantics.java    |  2 +-
 .../metamodel/valuesemantics/CharacterValueSemantics.java    |  2 +-
 .../core/metamodel/valuesemantics/ClobValueSemantics.java    |  2 +-
 .../core/metamodel/valuesemantics/DoubleValueSemantics.java  |  2 +-
 .../metamodel/valuesemantics/EnumValueSemanticsAbstract.java |  2 +-
 .../core/metamodel/valuesemantics/FloatValueSemantics.java   |  2 +-
 .../core/metamodel/valuesemantics/IntValueSemantics.java     |  2 +-
 .../valuesemantics/LocalResourcePathValueSemantics.java      |  2 +-
 .../core/metamodel/valuesemantics/LocaleValueSemantics.java  |  2 +-
 .../core/metamodel/valuesemantics/LongValueSemantics.java    |  2 +-
 .../core/metamodel/valuesemantics/MarkupValueSemantics.java  |  2 +-
 .../metamodel/valuesemantics/PasswordValueSemantics.java     |  2 +-
 .../core/metamodel/valuesemantics/ShortValueSemantics.java   |  2 +-
 .../core/metamodel/valuesemantics/StringValueSemantics.java  |  2 +-
 .../metamodel/valuesemantics/TreeNodeValueSemantics.java     |  2 +-
 .../core/metamodel/valuesemantics/URLValueSemantics.java     |  2 +-
 .../core/metamodel/valuesemantics/UUIDValueSemantics.java    |  2 +-
 .../metamodel/valuesemantics/XmlValueSemanticsAbstract.java  |  7 ++++++-
 .../temporal/TemporalValueSemanticsProvider.java             |  2 +-
 .../core/metamodel/valuetypes/ValueSemanticsAdapter.java     | 12 ++++++++++--
 .../facets/value/BigDecimalValueSemanticsProviderTest.java   |  2 +-
 .../facets/value/BigIntValueSemanticsProviderTest.java       |  2 +-
 .../facets/value/BlobValueSemanticsProviderTest.java         |  2 +-
 .../facets/value/BooleanValueSemanticsProviderTest.java      |  4 ++--
 .../facets/value/ByteValueSemanticsProviderTest.java         |  2 +-
 .../facets/value/CharacterValueSemanticsProviderTest.java    |  2 +-
 .../facets/value/ClobValueSemanticsProviderTest.java         |  2 +-
 .../facets/value/DoubleValueSemanticsProviderTest.java       |  4 ++--
 .../facets/value/FloatValueSemanticsProviderTest.java        |  2 +-
 .../facets/value/IntValueSemanticsProviderTest.java          |  2 +-
 .../facets/value/JavaSqlDateValueSemanticsProviderTest.java  |  2 +-
 .../facets/value/JavaTimeValueSemanticsProviderTest.java     |  2 +-
 .../facets/value/LongValueSemanticsProviderTest.java         |  2 +-
 .../facets/value/ShortValueSemanticsProviderTest.java        |  4 ++--
 .../facets/value/StringValueSemanticsProviderTest.java       |  2 +-
 .../facets/value/ValueSemanticsProviderAbstractTestCase.java |  4 ++--
 .../resources/AsciiDocValueSemanticsWithPreprocessing.java   |  2 +-
 .../other/embedded/jdo/ComplexNumberJdoValueSemantics.java   |  2 +-
 .../other/embedded/jpa/ComplexNumberJpaValueSemantics.java   |  2 +-
 .../fullcalendar/applib/value/CalendarEventSemantics.java    |  7 +++++--
 .../javafx/ui/components/markup/MarkupFieldFactory.java      |  2 +-
 .../asciidoc/metamodel/semantics/AsciiDocValueSemantics.java |  7 ++++++-
 .../markdown/metamodel/semantics/MarkdownValueSemantics.java | 10 ++++++++--
 .../model/converter/ConverterBasedOnValueSemantics.java      |  4 ++--
 53 files changed, 98 insertions(+), 64 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/Renderer.java b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/Renderer.java
index d5ede32..37096b9 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/Renderer.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/Renderer.java
@@ -24,8 +24,15 @@ package org.apache.isis.applib.value.semantics;
 public interface Renderer<T> {
 
     /**
-     * The value in its read-only summarizing text presentation form. (irreversible)
+     * The value in its read-only summarizing text presentation form. (title form)
      */
-    String simpleTextPresentation(ValueSemanticsProvider.Context context, T value);
+    String titlePresentation(ValueSemanticsProvider.Context context, T value);
+
+    /**
+     * The value rendered as HTML.
+     */
+    default String htmlPresentation(final ValueSemanticsProvider.Context context, final T value) {
+        return titlePresentation(context, value);
+    }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
index 05ffdc8..b2b68bc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetFromValueFacet.java
@@ -67,14 +67,14 @@ implements TitleFacet {
             final Renderer renderer = valueFacet
                     .selectRendererForPropertyElseFallback(prop);
             return renderer
-                    .simpleTextPresentation(valueFacet
+                    .titlePresentation(valueFacet
                             .createValueSemanticsContext(prop), pojo);
         }
         if(renderRequest.getFeature() instanceof ObjectActionParameter) {
             val param = (ObjectActionParameter)renderRequest.getFeature();
             final Renderer renderer = valueFacet
                     .selectRendererForParameterElseFallback(param);
-            return renderer.simpleTextPresentation(valueFacet.createValueSemanticsContext(param), pojo);
+            return renderer.titlePresentation(valueFacet.createValueSemanticsContext(param), pojo);
         }
 
         // fall back to default value semantics ...
@@ -84,7 +84,7 @@ implements TitleFacet {
 
         return valueFacet.selectDefaultRenderer()
         .map(renderer->(Renderer) renderer)
-        .map(renderer->renderer.simpleTextPresentation(valueFacet.createValueSemanticsContext(feature), pojo))
+        .map(renderer->renderer.titlePresentation(valueFacet.createValueSemanticsContext(feature), pojo))
         .orElseGet(()->String.format("Value type %s has no value semantics for title rendering.",
                 renderRequest.getObject().getSpecification().getCorrespondingClass()));
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
index 0a6b7e4..355519b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
@@ -311,7 +311,7 @@ implements ValueFacet<T> {
         private final String message;
 
         @Override
-        public String simpleTextPresentation(final Context context, final T value) {
+        public String titlePresentation(final Context context, final T value) {
             return message;
         }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ApplicationFeatureIdValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ApplicationFeatureIdValueSemantics.java
index 03b4426..4e2b026 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ApplicationFeatureIdValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ApplicationFeatureIdValueSemantics.java
@@ -67,7 +67,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final ApplicationFeatureId value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final ApplicationFeatureId value) {
         return value == null ? "" : value.stringify();
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java
index 695a256..55e954a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigDecimalValueSemantics.java
@@ -85,7 +85,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final BigDecimal value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final BigDecimal value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java
index 5339371..3184ac2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BigIntegerValueSemantics.java
@@ -74,7 +74,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final BigInteger value) {
+    public String titlePresentation(final Context context, final BigInteger value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BlobValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BlobValueSemantics.java
index 262b77b..f81da91 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BlobValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BlobValueSemantics.java
@@ -73,7 +73,7 @@ implements
     // RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Blob value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final Blob value) {
         return render(value, Blob::getName);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java
index e10e88a..3487af6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BookmarkValueSemantics.java
@@ -94,7 +94,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Bookmark value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final Bookmark value) {
         return value == null ? "" : value.stringify();
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BooleanValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BooleanValueSemantics.java
index 2c6ef6e..9b78c2b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BooleanValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/BooleanValueSemantics.java
@@ -81,7 +81,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Boolean value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final Boolean value) {
         return render(value, v->v.booleanValue() ? "True" : "False");
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java
index d76725a..63e065b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ByteValueSemantics.java
@@ -80,7 +80,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Byte value) {
+    public String titlePresentation(final Context context, final Byte value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java
index 6d6cfaa..0016417 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/CharacterValueSemantics.java
@@ -87,7 +87,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Character value) {
+    public String titlePresentation(final Context context, final Character value) {
         return render(value, c->""+c);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ClobValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ClobValueSemantics.java
index 01497e6..00fdcd9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ClobValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ClobValueSemantics.java
@@ -69,7 +69,7 @@ implements
     // RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Clob value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final Clob value) {
         return render(value, Clob::getName);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/DoubleValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/DoubleValueSemantics.java
index ebe56de..6564d7c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/DoubleValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/DoubleValueSemantics.java
@@ -78,7 +78,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Double value) {
+    public String titlePresentation(final Context context, final Double value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/EnumValueSemanticsAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/EnumValueSemanticsAbstract.java
index 54fd8c9..b56e3ee 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/EnumValueSemanticsAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/EnumValueSemanticsAbstract.java
@@ -141,7 +141,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final T value) {
+    public String titlePresentation(final Context context, final T value) {
         return render(value, v->friendlyName(context, v));
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/FloatValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/FloatValueSemantics.java
index 2330adf..59866e9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/FloatValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/FloatValueSemantics.java
@@ -78,7 +78,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Float value) {
+    public String titlePresentation(final Context context, final Float value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java
index a76467a..76a9675 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/IntValueSemantics.java
@@ -80,7 +80,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Integer value) {
+    public String titlePresentation(final Context context, final Integer value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocalResourcePathValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocalResourcePathValueSemantics.java
index 2a91917..d163317 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocalResourcePathValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocalResourcePathValueSemantics.java
@@ -68,7 +68,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final LocalResourcePath value) {
+    public String titlePresentation(final Context context, final LocalResourcePath value) {
         return render(value, LocalResourcePath::getValue);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocaleValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocaleValueSemantics.java
index 4149ed1..9927ef6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocaleValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LocaleValueSemantics.java
@@ -69,7 +69,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Locale value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final Locale value) {
 
         return render(value, v->{
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java
index 4177bc4..3ad6a7b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/LongValueSemantics.java
@@ -80,7 +80,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Long value) {
+    public String titlePresentation(final Context context, final Long value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/MarkupValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/MarkupValueSemantics.java
index da42ffa..3777b2f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/MarkupValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/MarkupValueSemantics.java
@@ -64,7 +64,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final Markup value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final Markup value) {
         return value != null? value.asHtml(): "[null]";
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/PasswordValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/PasswordValueSemantics.java
index 43e6543..035e361 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/PasswordValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/PasswordValueSemantics.java
@@ -66,7 +66,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Password value) {
+    public String titlePresentation(final Context context, final Password value) {
         return render(value, v->"*");
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java
index 3de9b20..a9575ac 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/ShortValueSemantics.java
@@ -80,7 +80,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Short value) {
+    public String titlePresentation(final Context context, final Short value) {
         return render(value, getNumberFormat(context)::format);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java
index c98cf62..3f66002 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/StringValueSemantics.java
@@ -64,7 +64,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final String value) {
+    public String titlePresentation(final Context context, final String value) {
         return value == null ? "" : value;
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/TreeNodeValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/TreeNodeValueSemantics.java
index 3437acc..9751a0e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/TreeNodeValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/TreeNodeValueSemantics.java
@@ -92,7 +92,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final TreeNode<?> value) {
+    public String titlePresentation(final Context context, final TreeNode<?> value) {
         return super.render(value, TreeNode::toString);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/URLValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/URLValueSemantics.java
index 2aae25f..96fe07a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/URLValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/URLValueSemantics.java
@@ -78,7 +78,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final java.net.URL value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final java.net.URL value) {
         return value != null ? value.toString(): "";
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java
index 5facba1..f0c1ba3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/UUIDValueSemantics.java
@@ -68,7 +68,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final UUID value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final UUID value) {
         return value == null ? "" : value.toString();
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java
index 5cf568a..b5625fa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/XmlValueSemanticsAbstract.java
@@ -88,7 +88,12 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final T value) {
+    public String titlePresentation(final Context context, final T value) {
+        return render(value, v->String.format("XML[length=%d]", toXml(v).length()));
+    }
+
+    @Override
+    public String htmlPresentation(final Context context, final T value) {
         return render(value, v->renderXml(context, toXml(v)));
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
index cc60606..e8492c5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuesemantics/temporal/TemporalValueSemanticsProvider.java
@@ -140,7 +140,7 @@ implements TemporalValueSemantics<T> {
     // -- RENDERER
 
     @Override
-    public final String simpleTextPresentation(
+    public final String titlePresentation(
             final ValueSemanticsProvider.Context context,
             final T value) {
         return render(value, getRenderingFormat(context)::format);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueSemanticsAdapter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueSemanticsAdapter.java
index c9afd0d..5e538f5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueSemanticsAdapter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueSemanticsAdapter.java
@@ -89,11 +89,19 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final T value) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final T value) {
         val delegateValue = value!=null
                 ? toDelegateValue(value)
                 : null;
-        return delegateRenderer().simpleTextPresentation(context, delegateValue);
+        return delegateRenderer().titlePresentation(context, delegateValue);
+    }
+
+    @Override
+    public String htmlPresentation(final ValueSemanticsProvider.Context context, final T value) {
+        val delegateValue = value!=null
+                ? toDelegateValue(value)
+                : null;
+        return delegateRenderer().htmlPresentation(context, delegateValue);
     }
 
     // -- PARSER
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
index 3710bd0..4f292fe 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
@@ -63,7 +63,7 @@ extends ValueSemanticsProviderAbstractTestCase<BigDecimal> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("34,132.199", value.simpleTextPresentation(null, bigDecimal));
+        assertEquals("34,132.199", value.titlePresentation(null, bigDecimal));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
index 01c17c6..83623ea 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
@@ -61,7 +61,7 @@ extends ValueSemanticsProviderAbstractTestCase<BigInteger> {
 
     @Test
     public void testTitle() throws Exception {
-        assertEquals("132,199", value.simpleTextPresentation(null, bigInt));
+        assertEquals("132,199", value.titlePresentation(null, bigInt));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
index b410232..fd67a42 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BlobValueSemanticsProviderTest.java
@@ -45,7 +45,7 @@ extends ValueSemanticsProviderAbstractTestCase<Blob> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("myfile1.docx", getRenderer().simpleTextPresentation(null, blob));
+        assertEquals("myfile1.docx", getRenderer().titlePresentation(null, blob));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
index 3de93c3..56cb066 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BooleanValueSemanticsProviderTest.java
@@ -76,13 +76,13 @@ extends ValueSemanticsProviderAbstractTestCase<Boolean> {
 
     @Test
     public void testTitle() throws Exception {
-        assertEquals("True", value.simpleTextPresentation(null, booleanObj));
+        assertEquals("True", value.titlePresentation(null, booleanObj));
     }
 
     @Test
     public void testTitleWhenNotSet() throws Exception {
         assertEquals(ValueSemanticsAbstract.NULL_REPRESENTATION,
-                value.simpleTextPresentation(null, null));
+                value.titlePresentation(null, null));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
index 4bf071c..3fb7f88 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
@@ -58,6 +58,6 @@ extends ValueSemanticsProviderAbstractTestCase<Byte> {
 
     @Test
     public void testTitleOf() throws Exception {
-        assertEquals("102", value.simpleTextPresentation(null, byteObj));
+        assertEquals("102", value.titlePresentation(null, byteObj));
     }
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
index 5c23880..ed5b286 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/CharacterValueSemanticsProviderTest.java
@@ -52,7 +52,7 @@ extends ValueSemanticsProviderAbstractTestCase<Character> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("r", valueSemantics.simpleTextPresentation(null, character));
+        assertEquals("r", valueSemantics.titlePresentation(null, character));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
index c34c959..0a74960 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ClobValueSemanticsProviderTest.java
@@ -42,7 +42,7 @@ extends ValueSemanticsProviderAbstractTestCase<Clob> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("myfile1.xml", value.simpleTextPresentation(null, clob));
+        assertEquals("myfile1.xml", value.titlePresentation(null, clob));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
index b421cef..1bd0fb6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
@@ -44,7 +44,7 @@ extends ValueSemanticsProviderAbstractTestCase<Double> {
 
     @Test
     public void testValue() {
-        assertEquals("32.5", value.simpleTextPresentation(null, doubleObj));
+        assertEquals("32.5", value.titlePresentation(null, doubleObj));
     }
 
     @Test
@@ -58,7 +58,7 @@ extends ValueSemanticsProviderAbstractTestCase<Double> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("35,000,000", value.simpleTextPresentation(null, Double.valueOf(35000000.0)));
+        assertEquals("35,000,000", value.titlePresentation(null, Double.valueOf(35000000.0)));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
index 8d26187..eb9b251 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
@@ -53,7 +53,7 @@ extends ValueSemanticsProviderAbstractTestCase<Float> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("32.5", value.simpleTextPresentation(null, float1));
+        assertEquals("32.5", value.titlePresentation(null, float1));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
index 5e5a44b..0ef14ab 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
@@ -52,7 +52,7 @@ extends ValueSemanticsProviderAbstractTestCase<Integer> {
 
     @Test
     public void testTitleString() {
-        assertEquals("32", value.simpleTextPresentation(null, integer));
+        assertEquals("32", value.titlePresentation(null, integer));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
index 7572aab..46db2ac 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
@@ -71,7 +71,7 @@ extends ValueSemanticsProviderAbstractTestCase<Date> {
 
     @Test
     public void testTitleOf() {
-        assertEquals(DateFormat.getDateInstance(SimpleDateFormat.MEDIUM).format(new Date(0)), value.simpleTextPresentation(null, date));
+        assertEquals(DateFormat.getDateInstance(SimpleDateFormat.MEDIUM).format(new Date(0)), value.titlePresentation(null, date));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
index 71a8ec5..59cbfcf 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaTimeValueSemanticsProviderTest.java
@@ -63,7 +63,7 @@ extends ValueSemanticsProviderAbstractTestCase<java.util.Date> {
     public void testRendering() {
         setSemantics(valueSemantics = createValueSemantics(TimePrecision.SECOND));
         val _context = Context.of(null, InteractionContext.builder().locale(UserLocale.valueOf(Locale.ENGLISH)).build());
-        assertEquals("Mar 13, 2013, 5:59:03 PM", valueSemantics.simpleTextPresentation(_context , date));
+        assertEquals("Mar 13, 2013, 5:59:03 PM", valueSemantics.titlePresentation(_context , date));
     }
 
     @Test // support omitted parts on input
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
index f8e948c..8a976fe 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
@@ -53,7 +53,7 @@ extends ValueSemanticsProviderAbstractTestCase<Long> {
 
     @Test
     public void testOutputAsString() {
-        assertEquals("367,322", value.simpleTextPresentation(null, longObj));
+        assertEquals("367,322", value.titlePresentation(null, longObj));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
index 8185f73..81ab43d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
@@ -53,12 +53,12 @@ extends ValueSemanticsProviderAbstractTestCase<Short> {
 
     @Test
     public void testTitleOfForPositiveValue() {
-        assertEquals("32", value.simpleTextPresentation(null, short1));
+        assertEquals("32", value.titlePresentation(null, short1));
     }
 
     @Test
     public void testTitleOfForLargestNegativeValue() {
-        assertEquals("-128", value.simpleTextPresentation(null, Short.valueOf((short) -128)));
+        assertEquals("-128", value.titlePresentation(null, Short.valueOf((short) -128)));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
index 21fb3b2..e866c7a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/StringValueSemanticsProviderTest.java
@@ -40,7 +40,7 @@ extends ValueSemanticsProviderAbstractTestCase<String> {
 
     @Test
     public void testTitleOf() {
-        assertEquals("text entry", value.simpleTextPresentation(null, string));
+        assertEquals("text entry", value.titlePresentation(null, string));
     }
 
     @Test
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
index 42c996c..4cdf679 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
@@ -157,10 +157,10 @@ public abstract class ValueSemanticsProviderAbstractTestCase<T> {
         if(semantics instanceof StringValueSemantics) {
             // string representation has null-to-empty semantics
             assertEquals("",
-                    semantics.getRenderer().simpleTextPresentation(null, null));
+                    semantics.getRenderer().titlePresentation(null, null));
         } else {
             assertEquals(ValueSemanticsAbstract.NULL_REPRESENTATION,
-                    semantics.getRenderer().simpleTextPresentation(null, null));
+                    semantics.getRenderer().titlePresentation(null, null));
         }
 
     }
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
index 45aa328..8185ec7 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
@@ -19,7 +19,7 @@ extends AsciiDocValueSemantics {
     @Inject AsciiDocConverterService asciiDocConverterService;
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
+    public String htmlPresentation(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
 
         return render(adoc, plainAdoc->
             asciiDocConverterService
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java
index a17ee81..a32c06d 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jdo/ComplexNumberJdoValueSemantics.java
@@ -54,7 +54,7 @@ public class ComplexNumberJdoValueSemantics
  // tag::getRenderer[]
          return new Renderer<ComplexNumberJdo>() {
              @Override
-             public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final ComplexNumberJdo object) {
+             public String titlePresentation(final ValueSemanticsProvider.Context context, final ComplexNumberJdo object) {
                  return object!=null ? object.title() : "NaN";
              }
          };
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java
index 60ee8ef..70a5e1a 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/other/embedded/jpa/ComplexNumberJpaValueSemantics.java
@@ -56,7 +56,7 @@ public class ComplexNumberJpaValueSemantics
 // tag::getRenderer[]
         return new Renderer<ComplexNumberJpa>() {
             @Override
-            public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final ComplexNumberJpa object) {
+            public String titlePresentation(final ValueSemanticsProvider.Context context, final ComplexNumberJpa object) {
                 return object!=null ? object.title() : "NaN";
             }
         };
diff --git a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEventSemantics.java b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEventSemantics.java
index 2a33dbd..a30c833 100644
--- a/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEventSemantics.java
+++ b/extensions/vw/fullcalendar/applib/src/main/java/org/apache/isis/extensions/fullcalendar/applib/value/CalendarEventSemantics.java
@@ -30,6 +30,8 @@ import org.springframework.stereotype.Component;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.MemberSupport;
+import org.apache.isis.applib.annotation.Optionality;
+import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.annotation.SemanticsOf;
@@ -107,7 +109,7 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final CalendarEvent value) {
+    public String titlePresentation(final Context context, final CalendarEvent value) {
         return render(value, v->v.toString());
     }
 
@@ -136,7 +138,7 @@ implements
 
     // -- EMBEDDING
 
-    // typed tuple of base-types
+    // typed tuple of fundamental types
     @Value @Accessors(fluent = true)
     public static class Parameters {
         final LocalDateTime dateTime;
@@ -180,6 +182,7 @@ implements
                 final LocalDateTime dateTime,
                 final String calendarName,
                 final String title,
+                @Parameter(optionality = Optionality.OPTIONAL)
                 @ParameterLayout(multiLine = 4)
                 final String notes) {
 
diff --git a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/markup/MarkupFieldFactory.java b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/markup/MarkupFieldFactory.java
index 856eb2f..0db17dc 100644
--- a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/markup/MarkupFieldFactory.java
+++ b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/components/markup/MarkupFieldFactory.java
@@ -65,7 +65,7 @@ public class MarkupFieldFactory implements UiComponentHandlerFx {
 //        val pojo = request.getFeatureValue(Object.class);
 //
 //        val markupHtml = request.getFeatureTypeSpec().streamValueSemantics(HtmlRenderer.class)
-//        .map(htmlRenderer->htmlRenderer.simpleTextPresentation(null, pojo))
+//        .map(htmlRenderer->htmlRenderer.titlePresentation(null, pojo))
 //        .filter(_NullSafe::isPresent)
 //        .findFirst()
 //        .orElse("");
diff --git a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemantics.java b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemantics.java
index a44ae39..2a02d77 100644
--- a/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemantics.java
+++ b/valuetypes/asciidoc/metamodel/src/main/java/org/apache/isis/valuetypes/asciidoc/metamodel/semantics/AsciiDocValueSemantics.java
@@ -64,7 +64,12 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
+    public String titlePresentation(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
+        return render(adoc, AsciiDoc::toString);
+    }
+
+    @Override
+    public String htmlPresentation(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
         return render(adoc, AsciiDoc::asHtml);
     }
 
diff --git a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java
index 765bc09..7baeb07 100644
--- a/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java
+++ b/valuetypes/markdown/metamodel/src/main/java/org/apache/isis/valuetypes/markdown/metamodel/semantics/MarkdownValueSemantics.java
@@ -26,6 +26,7 @@ import org.apache.isis.applib.value.semantics.Parser;
 import org.apache.isis.applib.value.semantics.Renderer;
 import org.apache.isis.applib.value.semantics.ValueDecomposition;
 import org.apache.isis.applib.value.semantics.ValueSemanticsAbstract;
+import org.apache.isis.applib.value.semantics.ValueSemanticsProvider;
 import org.apache.isis.commons.collections.Can;
 import org.apache.isis.schema.common.v2.ValueType;
 import org.apache.isis.valuetypes.markdown.applib.value.Markdown;
@@ -63,8 +64,13 @@ implements
     // -- RENDERER
 
     @Override
-    public String simpleTextPresentation(final Context context, final Markdown value) {
-        return render(value, Markdown::asHtml);
+    public String titlePresentation(final Context context, final Markdown value) {
+        return render(value, Markdown::toString);
+    }
+
+    @Override
+    public String htmlPresentation(final ValueSemanticsProvider.Context context, final Markdown adoc) {
+        return render(adoc, Markdown::asHtml);
     }
 
     // -- PARSER
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java
index acdaa26..0b3633d 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/converter/ConverterBasedOnValueSemantics.java
@@ -114,9 +114,9 @@ implements
         case VIEWING:
             return propOrParam.fold(
                     prop->valueFacet.selectRendererForPropertyElseFallback(prop)
-                            .simpleTextPresentation(context, value),
+                            .titlePresentation(context, value),
                     param->valueFacet.selectRendererForParameterElseFallback(param)
-                            .simpleTextPresentation(context, value));
+                            .titlePresentation(context, value));
         }
 
         throw _Exceptions.unmatchedCase(scalarRepresentation);