You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2020/07/15 14:05:56 UTC

[myfaces-tobago] branch master updated (5a29ef6 -> c04dec3)

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

lofwyr pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git.


    from 5a29ef6  clean up: IE is not supported
     new 07675a8  TOBAGO-1932: Refactor Bootstrap Theme Building
     new d32d4e9  TOBAGO-2014: Remove jQuery dependency
     new c04dec3  TOBAGO-1843: Demo: Enhancements for Tobago 5.x

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 tobago-assembly/src/main/resources/LICENSE.txt     | 67 ----------------------
 tobago-assembly/src/main/resources/NOTICE.txt      |  5 +-
 .../myfaces/tobago/internal/util/JQueryUtils.java  | 32 -----------
 .../src/main/resources/LICENSE.txt                 | 23 --------
 .../src/main/resources/NOTICE.txt                  |  5 +-
 .../src/main/appended-resouces/META-INF/NOTICE     |  3 -
 .../05-csp/Content_Security_Policy.xhtml           | 32 ++++-------
 .../80-security/10-sanitize/Sanitize.xhtml         | 16 +++++-
 .../tobago-example-demo/src/main/webapp/main.xhtml |  2 -
 .../src/main/webapp/server-info.xhtml              | 30 +++++-----
 tobago-theme/pom.xml                               | 57 ++----------------
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  2 +-
 16 files changed, 55 insertions(+), 223 deletions(-)
 delete mode 100644 tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JQueryUtils.java


[myfaces-tobago] 02/03: TOBAGO-2014: Remove jQuery dependency

Posted by lo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit d32d4e9462f5fb3235bcc7e16d231a3f03c330b7
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Wed Jul 15 13:14:58 2020 +0200

    TOBAGO-2014: Remove jQuery dependency
---
 tobago-assembly/src/main/resources/LICENSE.txt     | 67 ----------------------
 tobago-assembly/src/main/resources/NOTICE.txt      |  5 +-
 .../myfaces/tobago/internal/util/JQueryUtils.java  | 32 -----------
 .../src/main/resources/LICENSE.txt                 | 23 --------
 .../src/main/resources/NOTICE.txt                  |  5 +-
 .../src/main/appended-resouces/META-INF/NOTICE     |  3 -
 6 files changed, 2 insertions(+), 133 deletions(-)

diff --git a/tobago-assembly/src/main/resources/LICENSE.txt b/tobago-assembly/src/main/resources/LICENSE.txt
index 6a3fd71..5d3121d 100644
--- a/tobago-assembly/src/main/resources/LICENSE.txt
+++ b/tobago-assembly/src/main/resources/LICENSE.txt
@@ -202,73 +202,6 @@
 
 
 ------------------------------------------------------------------------------
-For jQuery:
-------------------------------------------------------------------------------
-
-Copyright 2012, 2014 jQuery Foundation and other contributors,
-https://jquery.org/
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/jquery/jquery.org
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-All files located in the node_modules directory are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
-
-------------------------------------------------------------------------------
-For jQuery Timepicker Addon:
-------------------------------------------------------------------------------
-
-Copyright (c) 2009 Trent Richardson, http://trentrichardson.com/Impromptu/
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-------------------------------------------------------------------------------
  For SLF4J:
 ------------------------------------------------------------------------------
 
diff --git a/tobago-assembly/src/main/resources/NOTICE.txt b/tobago-assembly/src/main/resources/NOTICE.txt
index fc13fc4..588a473 100644
--- a/tobago-assembly/src/main/resources/NOTICE.txt
+++ b/tobago-assembly/src/main/resources/NOTICE.txt
@@ -1,15 +1,12 @@
 Apache Tobago
 Copyright 2005-2020 The Apache Software Foundation
 
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
 Based on source code originally developed by
 Atanion GmbH (http://www.atanion.com/)
 Copyright 2002-2005 Atanion GmbH.
 
 This product includes software developed by
-The jQuery Foundation (http://jquery.org/)
+The Apache Software Foundation (http://www.apache.org/).
 
 This product includes software developed by
 QOS.ch (slf4j) (http://QOS.ch/)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JQueryUtils.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JQueryUtils.java
deleted file mode 100644
index b0390af..0000000
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/util/JQueryUtils.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.myfaces.tobago.internal.util;
-
-public class JQueryUtils {
-
-  public static String escapeIdForHtml(final String id) {
-    return "#" + id.replaceAll("([:\\.\\[\\],])", "\\\\$1");
-  }
-
-  public static String escapeIdForJavaScript(final String id) {
-    return "#" + id.replaceAll("([:\\.\\[\\],])", "\\\\\\\\$1");
-  }
-
-}
diff --git a/tobago-example/tobago-example-assembly/src/main/resources/LICENSE.txt b/tobago-example/tobago-example-assembly/src/main/resources/LICENSE.txt
index 306307e..e0aa6e7 100644
--- a/tobago-example/tobago-example-assembly/src/main/resources/LICENSE.txt
+++ b/tobago-example/tobago-example-assembly/src/main/resources/LICENSE.txt
@@ -200,29 +200,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
- For jQuery:
-
- Copyright (c) 2010 John Resig, http://jquery.com/
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
 
  For SLF4J:
 
diff --git a/tobago-example/tobago-example-assembly/src/main/resources/NOTICE.txt b/tobago-example/tobago-example-assembly/src/main/resources/NOTICE.txt
index fc13fc4..588a473 100644
--- a/tobago-example/tobago-example-assembly/src/main/resources/NOTICE.txt
+++ b/tobago-example/tobago-example-assembly/src/main/resources/NOTICE.txt
@@ -1,15 +1,12 @@
 Apache Tobago
 Copyright 2005-2020 The Apache Software Foundation
 
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
 Based on source code originally developed by
 Atanion GmbH (http://www.atanion.com/)
 Copyright 2002-2005 Atanion GmbH.
 
 This product includes software developed by
-The jQuery Foundation (http://jquery.org/)
+The Apache Software Foundation (http://www.apache.org/).
 
 This product includes software developed by
 QOS.ch (slf4j) (http://QOS.ch/)
diff --git a/tobago-example/tobago-example-demo/src/main/appended-resouces/META-INF/NOTICE b/tobago-example/tobago-example-demo/src/main/appended-resouces/META-INF/NOTICE
index d4e5571..8843be9 100644
--- a/tobago-example/tobago-example-demo/src/main/appended-resouces/META-INF/NOTICE
+++ b/tobago-example/tobago-example-demo/src/main/appended-resouces/META-INF/NOTICE
@@ -4,6 +4,3 @@ Copyright 2002-2005 Atanion GmbH.
 
 This product includes software developed by
 Lea Verou http://lea.verou.me et al. (http://prismjs.com/)
-
-This product includes software developed by
-jQuery Foundation and other contributors (https://qunitjs.com/)


[myfaces-tobago] 01/03: TOBAGO-1932: Refactor Bootstrap Theme Building

Posted by lo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit 07675a804149808490ef6b27aa9b78724e7987ce
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Wed Jul 15 11:45:49 2020 +0200

    TOBAGO-1932: Refactor Bootstrap Theme Building
---
 tobago-theme/pom.xml                               | 57 ++--------------------
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  1 +
 .../src/main/npm/package.json                      |  2 +-
 6 files changed, 10 insertions(+), 53 deletions(-)

diff --git a/tobago-theme/pom.xml b/tobago-theme/pom.xml
index 2b069d8..6c95adc 100644
--- a/tobago-theme/pom.xml
+++ b/tobago-theme/pom.xml
@@ -67,7 +67,7 @@
     <plugins>
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>
-        <version>2.7</version>
+        <version>3.1.0</version>
         <executions>
           <execution>
             <!-- copy customization to target/bootstrap -->
@@ -194,11 +194,11 @@
       <plugin>
         <groupId>com.github.eirslett</groupId>
         <artifactId>frontend-maven-plugin</artifactId>
-        <version>1.7.6</version>
+        <version>1.10.0</version>
 
         <!-- optional -->
         <configuration>
-          <nodeVersion>v12.16.3</nodeVersion> <!-- contains npm version 6.14.4 -->
+          <nodeVersion>v12.18.2</nodeVersion> <!-- contains npm version 6.14.5 -->
 
           <!-- optional: Where to download Node.js binary from. Defaults to http://nodejs.org/dist/ -->
           <!--<nodeDownloadRoot>https://nodejs.org/dist/</nodeDownloadRoot>-->
@@ -234,68 +234,21 @@
             </goals>
             <phase>generate-resources</phase>
             <configuration>
-              <!--<arguments>install jquery popper.js ajv-keywords eslint-plugin-compat ajv eslint</arguments>-->
               <arguments>install</arguments>
             </configuration>
           </execution>
 
           <execution>
             <!-- build "Tobago with Bootstrap" -->
-            <id>step #5: npm run css</id>
+            <id>step #5: npm run build</id>
             <goals>
               <goal>npm</goal>
             </goals>
             <phase>generate-resources</phase>
             <configuration>
-              <arguments>run css</arguments>
+              <arguments>run build</arguments>
             </configuration>
           </execution>
-          <execution>
-            <id>step #5a: test</id>
-            <goals>
-              <goal>npm</goal>
-            </goals>
-            <phase>generate-resources</phase>
-            <configuration>
-              <arguments>run test</arguments>
-            </configuration>
-          </execution>
-          <execution>
-            <id>step #5b: ts-lint + ts-compile</id>
-            <goals>
-              <goal>npm</goal>
-            </goals>
-            <phase>generate-resources</phase>
-            <configuration>
-              <arguments>run ts</arguments>
-            </configuration>
-          </execution>
-
-<!-- XXX remove it
-          <execution>
-            <id>step #5c: es6 to es5</id>
-            <goals>
-              <goal>npm</goal>
-            </goals>
-            <phase>generate-resources</phase>
-            <configuration>
-              <arguments>run js-transpile</arguments>
-            </configuration>
-          </execution>
--->
-
-<!--
-          <execution>
-            <id>step #5d: minify</id>
-            <goals>
-              <goal>npm</goal>
-            </goals>
-            <phase>generate-resources</phase>
-            <configuration>
-              <arguments>run js-minify</arguments>
-            </configuration>
-          </execution>
--->
         </executions>
       </plugin>
 
diff --git a/tobago-theme/tobago-theme-charlotteville/src/main/npm/package.json b/tobago-theme/tobago-theme-charlotteville/src/main/npm/package.json
index 744366c..3e88a5c 100644
--- a/tobago-theme/tobago-theme-charlotteville/src/main/npm/package.json
+++ b/tobago-theme/tobago-theme-charlotteville/src/main/npm/package.json
@@ -18,6 +18,7 @@
   },
   "homepage": "https://myfaces.apache.org/tobago/",
   "scripts": {
+    "build": "npm-run-all --parallel css test ts",
     "css": "npm-run-all --parallel css-compile --sequential css-prefix css-minify",
     "css-lint": "echo 'Not implemented yet!'",
     "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/tobago-theme.scss css/tobago.css",
diff --git a/tobago-theme/tobago-theme-roxborough/src/main/npm/package.json b/tobago-theme/tobago-theme-roxborough/src/main/npm/package.json
index 4a1b7b5..f78b639 100644
--- a/tobago-theme/tobago-theme-roxborough/src/main/npm/package.json
+++ b/tobago-theme/tobago-theme-roxborough/src/main/npm/package.json
@@ -18,6 +18,7 @@
   },
   "homepage": "https://myfaces.apache.org/tobago/",
   "scripts": {
+    "build": "npm-run-all --parallel css test ts",
     "css": "npm-run-all --parallel css-compile --sequential css-prefix css-minify",
     "css-lint": "echo 'Not implemented yet!'",
     "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/tobago-theme.scss css/tobago.css",
diff --git a/tobago-theme/tobago-theme-scarborough/src/main/npm/package.json b/tobago-theme/tobago-theme-scarborough/src/main/npm/package.json
index bed02e6..ba12962 100644
--- a/tobago-theme/tobago-theme-scarborough/src/main/npm/package.json
+++ b/tobago-theme/tobago-theme-scarborough/src/main/npm/package.json
@@ -18,6 +18,7 @@
   },
   "homepage": "https://myfaces.apache.org/tobago/",
   "scripts": {
+    "build": "npm-run-all --parallel css test ts",
     "css": "npm-run-all --parallel css-compile --sequential css-prefix css-minify",
     "css-lint": "echo 'Not implemented yet!'",
     "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/tobago-theme.scss css/tobago.css",
diff --git a/tobago-theme/tobago-theme-speyside/src/main/npm/package.json b/tobago-theme/tobago-theme-speyside/src/main/npm/package.json
index e38d2c3..f65ea45 100644
--- a/tobago-theme/tobago-theme-speyside/src/main/npm/package.json
+++ b/tobago-theme/tobago-theme-speyside/src/main/npm/package.json
@@ -18,6 +18,7 @@
   },
   "homepage": "https://myfaces.apache.org/tobago/",
   "scripts": {
+    "build": "npm-run-all --parallel css test ts",
     "css": "npm-run-all --parallel css-compile --sequential css-prefix css-minify",
     "css-lint": "echo 'Not implemented yet!'",
     "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/tobago-theme.scss css/tobago.css",
diff --git a/tobago-theme/tobago-theme-standard/src/main/npm/package.json b/tobago-theme/tobago-theme-standard/src/main/npm/package.json
index 98d40ab..f6f6a10 100644
--- a/tobago-theme/tobago-theme-standard/src/main/npm/package.json
+++ b/tobago-theme/tobago-theme-standard/src/main/npm/package.json
@@ -18,6 +18,7 @@
   },
   "homepage": "https://myfaces.apache.org/tobago/",
   "scripts": {
+    "build": "npm-run-all --parallel css test ts",
     "css": "npm-run-all --parallel css-compile --sequential css-prefix css-minify",
     "css-lint": "echo 'Not implemented yet!'",
     "css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/tobago-theme.scss css/tobago.css",
@@ -26,7 +27,6 @@
     "ts": "npm-run-all --parallel ts-lint ts-compile --sequential rollup",
     "ts-lint": "tslint --project tsconfig.json --config tslint.json",
     "ts-compile": "tsc",
-    "js-minify": "uglifyjs --compress typeofs=false,drop_console=true --mangle --source-map includeSources --output js/tobago.min.js js/tobago-polyfill.js js/tobago-listener.js js/tobago-core.js js/tobago-dropdown.js js/tobago-date.js js/tobago-command.js js/tobago-file.js js/tobago-focus.js js/tobago-header-footer.js js/tobago-in.js js/tobago-jsf.js js/tobago-overlay.js js/tobago-panel.js js/tobago-popover.js js/tobago-popup.js js/tobago-reload.js js/tobago-scroll.js js/tobago-select-bo [...]
     "rollup": "rollup --config",
     "test": "jest",
     "dev-css": "npm-run-all --sequential dev-css-compile dev-mkdir dev-css-cp",


[myfaces-tobago] 03/03: TOBAGO-1843: Demo: Enhancements for Tobago 5.x

Posted by lo...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lofwyr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git

commit c04dec33252313fdcc39e877b421181438fecb46
Author: Udo Schnurpfeil <ud...@irian.eu>
AuthorDate: Wed Jul 15 16:05:42 2020 +0200

    TOBAGO-1843: Demo: Enhancements for Tobago 5.x
---
 .../05-csp/Content_Security_Policy.xhtml           | 32 ++++++++--------------
 .../80-security/10-sanitize/Sanitize.xhtml         | 16 +++++++++--
 .../tobago-example-demo/src/main/webapp/main.xhtml |  2 --
 .../src/main/webapp/server-info.xhtml              | 30 +++++++++++---------
 4 files changed, 43 insertions(+), 37 deletions(-)

diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/05-csp/Content_Security_Policy.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/05-csp/Content_Security_Policy.xhtml
index 98c09de..9361ca2 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/05-csp/Content_Security_Policy.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/05-csp/Content_Security_Policy.xhtml
@@ -28,30 +28,22 @@
   <tc:link link="http://www.w3.org/TR/CSP/" label="Specification link" image="fa-external-link"/>.
   In short: The HTML page doesn't contain any JavaScript or CSS information.
   All allowed sources for JavaScript, CSS and other resources have to be declared in special header.
-  If you have own renderers or own JavaScript in your application, this code also needs to support SCP, to use this feature.
+  If you have own renderers or own JavaScript in your application, this code also needs to support CSP, to use this feature.
 
-  <tc:box label="This box may be manipulated by JavaScript">
-    <tc:style maxWidth="400px"/>
-    <tc:panel id="panel">
+  <tc:box label="The content of this box may be manipulated by JavaScript">
+    <tc:panel id="panel-good">
+      <tc:badge markup="info" value="Notice:"/><br/>
       <tc:out value="When you can read this text, it hasn't been manipulated by JavaScript.
         That means the CSP is working correctly."/>
+      <i class="fa fa-check fa-2x" onclick="alert('rav');"></i>
     </tc:panel>
-    <script>
-      <![CDATA[
-      function cspDemo() {
-        jQuery(DomUtils.escapeClientId("page:panel")).html(
-            "<span style='color: #ff0000; font-weight: bold;'>"
-            + "Attention: When you can read this text, the content was manipulated by JavaScript."
-            + " It seems, your browser doesn't support CSP!</span>");
-      }
-
-      cspDemo();
-      ]]>
-    </script>
+    <tc:panel id="panel-bad">
+      <tc:style customClass="d-none"/>
+      <tc:badge markup="warning" value="Attention!"/><br/>
+      <tc:out value="When you can read this text, the content was manipulated by JavaScript. It seems, your browser doesn't support CSP!"/>
+      <i class="fa fa-exclamation-triangle fa-2x text-danger"></i>
+    </tc:panel>
+    <script type="application/javascript">document.addEventListener("DOMContentLoaded", function (event) {document.getElementById("page:mainForm:panel-good").classList.add("d-none");document.getElementById("page:mainForm:panel-bad").classList.remove("d-none"); });</script>
   </tc:box>
 
-  <h5 class="alert alert-danger">This example is currently not working!</h5>
-
-
-
 </ui:composition>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/10-sanitize/Sanitize.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/10-sanitize/Sanitize.xhtml
index 2a9d5e0..814d0e1 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/10-sanitize/Sanitize.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/80-security/10-sanitize/Sanitize.xhtml
@@ -25,11 +25,23 @@
   <ui:param name="title" value="Sanitizer"/>
 
   <ul>
-    <li>Filter all suspicious content from tc:textarea and tc:out with escape=false.</li>
+    <li>Filter all suspicious content from
+      <pre><code class="language-markup">&lt;tc:textarea></code></pre> and
+      <pre><code class="language-markup">&lt;tc:out escape="false"></code></pre>
+    </li>
     <li>See <tc:link label="OWASP Java HTML Sanitizer Project"
                      link="https://www.owasp.org/index.php/OWASP_Java_HTML_Sanitizer_Project"
                      image="fa-external-link" /></li>
-    <li>The filter can be configured the <code>tobago-config.xml</code> file.</li>
+    <li>The filter can be configured the <code>tobago-config.xml</code> file with
+      the <code class="language-markup">&lt;sanitizer></code> tag.</li>
   </ul>
+  Example for an configuration which is active by default:
+  <pre><code class="language-markup">&lt;sanitizer>
+  &lt;sanitizer-class>org.apache.myfaces.tobago.sanitizer.JsoupSanitizer&lt;/sanitizer-class>
+  &lt;properties>
+    &lt;!-- Use one of: basic, basicWithImages, relaxed, simpleText or none -->
+    &lt;entry key="whitelist">relaxed&lt;/entry>
+  &lt;/properties>
+&lt;/sanitizer></code></pre>
 
 </ui:composition>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml
index e83bfbc..eb6655f 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/main.xhtml
@@ -86,8 +86,6 @@
           </f:facet>
           <tc:out label="Theme:" value="#{themeController.localizedTheme} (#{themeController.theme.version})"/>
           <tc:out label="Locale:" value="#{localeController.localizedLocale}"/>
-          <tc:out label="Project Stage:" value="#{facesContext.application.projectStage}"/>
-          <tc:out label="CSP mode:" value="#{tobagoConfig.contentSecurityPolicy.mode}"/>
           <tc:out label="Requests:"
                   value="#{activityList.values[0].jsfRequest} / AJAX: #{activityList.values[0].ajaxRequest}"/>
         </tc:box>
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml
index ee94d08..20be51e 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/server-info.xhtml
@@ -27,30 +27,34 @@
 
     <tc:section label="Main Properties">
 
-      <tc:in value="#{serverInfo.version}" readonly="true" label="Tobago Version"/>
+      <tc:out value="#{serverInfo.version}" label="Tobago Version:"/>
 
-      <tc:in value="#{manifestReader.buildTime}" readonly="true" label="Tobago Build Time">
+      <tc:out value="#{manifestReader.buildTime}" label="Tobago Build Time:">
         <f:convertDateTime type="both"/>
-      </tc:in>
+      </tc:out>
 
-      <tc:in value="#{serverInfo.jsfTitle}" readonly="true" label="JSF Implementation"/>
+      <tc:out value="#{serverInfo.jsfTitle}" label="JSF Implementation:"/>
 
-      <tc:in value="#{serverInfo.jsfVersion}" readonly="true" label="JSF Version"/>
+      <tc:out value="#{serverInfo.jsfVersion}" label="JSF Version:"/>
 
-      <tc:in value="#{serverInfo.cdiTitle}" readonly="true" label="CDI Implementation"/>
+      <tc:out value="#{serverInfo.cdiTitle}" label="CDI Implementation:"/>
 
-      <tc:in value="#{serverInfo.cdiVersion}" readonly="true" label="CDI Version"/>
+      <tc:out value="#{serverInfo.cdiVersion}" label="CDI Version:"/>
 
-      <tc:in value="#{serverInfo.serverInfo}" readonly="true" label="Server Info"/>
+      <tc:out value="#{serverInfo.serverInfo}" label="Server Info:"/>
 
-      <tc:in value="#{serverInfo.systemProperties['java.runtime.version']} - #{serverInfo.systemProperties['java.vm.vendor']}"
-             readonly="true" label="Java"/>
+      <tc:out value="#{serverInfo.systemProperties['java.runtime.version']} - #{serverInfo.systemProperties['java.vm.vendor']}"
+             label="Java:"/>
 
-      <tc:in
+      <tc:out
           value="#{serverInfo.systemProperties['os.name']} - #{serverInfo.systemProperties['os.version']} - #{serverInfo.systemProperties['os.arch']}"
-          readonly="true" label="Operating System"/>
+          label="Operating System:"/>
 
-      <tc:segmentLayout medium="6seg 6seg" large="4seg 4seg 4seg" extraLarge="3seg 3seg 3seg">
+      <tc:out label="Project Stage:" value="#{facesContext.application.projectStage}"/>
+      <tc:out label="CSP mode:" value="#{tobagoContext.tobagoConfig.contentSecurityPolicy.mode}"/>
+      <tc:out label="CSP detail:" value="#{tobagoContext.tobagoConfig.contentSecurityPolicy.directiveMap}"/>
+
+      <tc:segmentLayout medium="6seg 6seg" large="4seg 4seg 4seg" extraLarge="3 seg 3seg 3seg">
         <tc:selectBooleanCheckbox value="#{version.version20}" readonly="true" label="Version 2.0"/>
         <tc:selectBooleanCheckbox value="#{version.version21}" readonly="true" label="Version 2.1"/>
         <tc:selectBooleanCheckbox value="#{version.version22}" readonly="true" label="Version 2.2"/>