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

git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/jena-site.git


The following commit(s) were added to refs/heads/asf-staging by this push:
     new 4a70c6128 Staged site from security-page 
(eca15337fbb1def7adab0ad413f5f907db8f826b)
4a70c6128 is described below

commit 4a70c6128cc4e66c3f57c38558b6c28aaba0d07b
Author: jenkins <[email protected]>
AuthorDate: Tue Jul 11 16:59:32 2023 +0000

    Staged site from security-page (eca15337fbb1def7adab0ad413f5f907db8f826b)
---
 content/about_jena/index.xml                       |   2 +-
 content/about_jena/security-advisories.html        | 170 ++++++++++++--------
 content/documentation/fuseki2/fuseki-modules.html  | 171 ++++++---------------
 content/documentation/index.xml                    |   6 +-
 content/documentation/io/rdf-output.html           |  20 ---
 .../documentation/query/javascript-functions.html  |  29 +---
 content/download/index.html                        |  36 ++---
 content/index.json                                 |   2 +-
 content/index.xml                                  |   8 +-
 content/sitemap.xml                                |  16 +-
 10 files changed, 190 insertions(+), 270 deletions(-)

diff --git a/content/about_jena/index.xml b/content/about_jena/index.xml
index 23fec876c..24982bb30 100644
--- a/content/about_jena/index.xml
+++ b/content/about_jena/index.xml
@@ -52,7 +52,7 @@ Pull requests, patches and other contributions 
welcome!</description>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://jena.apache.org/about_jena/security-advisories.html</guid>
-      <description>The Jena project has issued a number of security advisories 
during the lifetime of the project. On this page you&amp;rsquo;ll find details 
of our security issue process, as well as a listing of our past CVEs as well as 
relevant Dependency CVEs.
+      <description>The Jena project has issued a number of security advisories 
during the lifetime of the project. On this page you&amp;rsquo;ll find details 
of our security issue process, as a listing of our past CVEs and relevant 
Dependency CVEs.
 Process Jena follows the standard ASF Security for Committers policy for 
reporting and addressing security issues.
 If you think you have identified a Security issue in our project please refer 
to that policy for how to report it, and the process that the Jena Project 
Management Committee (PMC) will follow in addressing the issue.</description>
     </item>
diff --git a/content/about_jena/security-advisories.html 
b/content/about_jena/security-advisories.html
index 00da06cd1..bbf074325 100644
--- a/content/about_jena/security-advisories.html
+++ b/content/about_jena/security-advisories.html
@@ -175,91 +175,125 @@
     <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
     <nav id="TableOfContents">
   <ul>
-    <li><a href="#process">Process</a></li>
-    <li><a href="#single-supported-version">Single Supported Version</a></li>
-    <li><a href="#standard-mitigation-advice">Standard Mitigation 
Advice</a></li>
-    <li><a href="#end-of-life-eol-components">End of Life (EOL) 
Components</a></li>
-    <li><a href="#security-issues-in-dependencies">Security Issues in 
Dependencies</a></li>
-  </ul>
-
-  <ul>
-    <li><a 
href="#cve-2023-22665---exposure-of-arbitrary-execution-in-script-engine-expressions">CVE-2023-22665
 - Exposure of arbitrary execution in script engine expressions.</a></li>
-    <li><a 
href="#cve-2022-45136---jdbc-serialisation-in-apache-jena-sdb">CVE-2022-45136 - 
JDBC Serialisation in Apache Jena SDB</a></li>
-    <li><a href="#cve-2022-28890---processing-external-dtds">CVE-2022-28890 - 
Processing External DTDs</a></li>
-    <li><a 
href="#cve-2021-39239---xml-external-entity-xxe-vulnerability">CVE-2021-39239 - 
XML External Entity (XXE) Vulnerability</a></li>
-    <li><a 
href="#cve-2021-33192---display-information-ui-xss-in-apache-jena-fuseki">CVE-2021-33192
 - Display information UI XSS in Apache Jena Fuseki</a></li>
-  </ul>
-
-  <ul>
-    <li><a href="#log4shell">log4shell</a></li>
+    <li><a href="#process">Process</a>
+      <ul>
+        <li><a href="#single-supported-version">Single Supported 
Version</a></li>
+        <li><a href="#standard-mitigation-advice">Standard Mitigation 
Advice</a></li>
+        <li><a href="#end-of-life-eol-components">End of Life (EOL) 
Components</a></li>
+        <li><a href="#security-issues-in-dependencies">Security Issues in 
Dependencies</a></li>
+      </ul>
+    </li>
+    <li><a href="#jena-cves">Jena CVEs</a>
+      <ul>
+        <li>
+          <ul>
+            <li><a 
href="#cve-2023-32200---exposure-of-execution-in-script-engine-expressions">CVE-2023-32200
 - Exposure of execution in script engine expressions.</a></li>
+            <li><a 
href="#cve-2023-22665---exposure-of-arbitrary-execution-in-script-engine-expressions">CVE-2023-22665
 - Exposure of arbitrary execution in script engine expressions.</a></li>
+            <li><a 
href="#cve-2022-45136---jdbc-serialisation-in-apache-jena-sdb">CVE-2022-45136 - 
JDBC Serialisation in Apache Jena SDB</a></li>
+            <li><a 
href="#cve-2022-28890---processing-external-dtds">CVE-2022-28890 - Processing 
External DTDs</a></li>
+            <li><a 
href="#cve-2021-39239---xml-external-entity-xxe-vulnerability">CVE-2021-39239 - 
XML External Entity (XXE) Vulnerability</a></li>
+            <li><a 
href="#cve-2021-33192---display-information-ui-xss-in-apache-jena-fuseki">CVE-2021-33192
 - Display information UI XSS in Apache Jena Fuseki</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
+    <li><a href="#cves-in-jena-dependencies">CVEs in Jena Dependencies</a>
+      <ul>
+        <li>
+          <ul>
+            <li><a href="#log4shell">log4shell</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
   </ul>
 </nav>
   </aside>
   <article class="flex-column me-lg-4">
-    <p>The Jena project has issued a number of security advisories during the 
lifetime of the project.  On this page you&rsquo;ll
-find details of our <a href="#process">security issue process</a>, as well as 
a listing of our past <a href="#jena-cves">CVEs</a> as well as relevant <a 
href="#cves-in-jena-dependencies">Dependency CVEs</a>.</p>
+    <p>The Jena project has issued a number of security advisories during the 
lifetime of the
+project. On this page you&rsquo;ll find details of our <a 
href="#process">security issue
+process</a>, as a listing of our past <a href="#jena-cves">CVEs</a> and
+relevant <a href="#cves-in-jena-dependencies">Dependency CVEs</a>.</p>
 <h2 id="process">Process</h2>
 <p>Jena follows the standard <a 
href="https://www.apache.org/security/committers.html";>ASF Security for 
Committers</a> policy for
 reporting and addressing security issues.</p>
 <p>If you think you have identified a Security issue in our project please 
refer to that policy for how to report it, and
 the process that the Jena Project Management Committee (PMC) will follow in 
addressing the issue.</p>
-<h2 id="single-supported-version">Single Supported Version</h2>
+<h3 id="single-supported-version">Single Supported Version</h3>
 <p>As a project, Apache Jena only has the resources to maintain a single 
release
-version.  Any accepted security issue will be fixed in a future release in a 
timeframe appropriate to the severity of the issue.</p>
-<h2 id="standard-mitigation-advice">Standard Mitigation Advice</h2>
-<p>Note that as a project our guidance to users is <strong>always</strong> to 
use the newest Jena version available to ensure you have
-any security fixes we have made available.</p>
-<p>Where more specific mitigations are available these will be denoted in the 
individual CVEs.</p>
-<h2 id="end-of-life-eol-components">End of Life (EOL) Components</h2>
+version.  Any accepted security issue will be fixed in a future release in a
+timeframe appropriate to the severity of the issue.</p>
+<h3 id="standard-mitigation-advice">Standard Mitigation Advice</h3>
+<p>Note that as a project our guidance to users is <em>always</em> to use the 
newest
+Jena version available to ensure you have any security fixes we have made
+available.</p>
+<p>Where more specific mitigations are available, these will be denoted in the 
individual CVEs.</p>
+<h3 id="end-of-life-eol-components">End of Life (EOL) Components</h3>
 <p>Where a security advisory is issued for a component that is already EOL 
(sometimes referred to as archived or retired
 within our documentation) then we will not fix the issue but instead reiterate 
our previous recommendations that users
 cease using the EOL component and migrate to actively supported components.</p>
 <p>Such issues will follow the <a 
href="https://cve.mitre.org/cve/cna/CVE_Program_End_of_Life_EOL_Assignment_Process.html";>CVE
 EOL Assignment
 Process</a> and will be clearly denoted
 by the <strong>UNSUPPORTED WHEN ASSIGNED</strong> text at the start of the 
description.</p>
-<h2 id="security-issues-in-dependencies">Security Issues in Dependencies</h2>
-<p>For our dependencies the project relies primarily upon GitHub Dependabot 
Alerts to be made aware of available dependency
+<h3 id="security-issues-in-dependencies">Security Issues in Dependencies</h3>
+<p>For our dependencies, the project relies primarily upon GitHub Dependabot 
Alerts to be made aware of available dependency
 updates, whether security related or otherwise.  When a security related 
update is released and our analysis shows that
 Jena users may be affected we endeavour to take the dependency upgrade ASAP 
and make a new release in timeframe
 appropriate to the severity of the issue.</p>
-<h1 id="jena-cves">Jena CVEs</h1>
+<h2 id="jena-cves">Jena CVEs</h2>
 <p>The following CVEs specifically relate to the Jena codebase itself and have 
been addressed by the project. Per our
 policy above we advise users to always utilise the latest Jena release 
available.</p>
 <p>Please refer to the individual CVE links for further details and 
mitigations.</p>
-<h2 
id="cve-2023-22665---exposure-of-arbitrary-execution-in-script-engine-expressions">CVE-2023-22665
 - Exposure of arbitrary execution in script engine expressions.</h2>
-<p><a href="https://www.cve.org/CVERecord?id=CVE-2023-22665";>CVE-2023</a> 
affects Jena 3.7.0 through 4.7.0 and relates to the
-<a 
href="https://jena.apache.org/documentation/query/javascript-functions.html";>Javascript
 SPARQL Functions</a> feature of our ARQ
-SPARQL engine.</p>
-<p>From Jena 4.8.0 onwards this feature <strong>MUST</strong> be explicitly 
enabled by end users, and on newer JVMs (Java 17 onwards) a
-JavaScript script engine <strong>MUST</strong> be explicitly added to the 
environment.</p>
-<p>However, when enabled this feature does expose the majority of the 
underlying scripting engine directly to SPARQL
-queries so may provide a vector for arbitrary code execution.  Therefore, it 
is recommended that this feature remain
-disabled for any publicly accessible deployment that utilises the ARQ query 
engine.</p>
+<h4 
id="cve-2023-32200---exposure-of-execution-in-script-engine-expressions">CVE-2023-32200
 - Exposure of execution in script engine expressions.</h4>
+<p><a 
href="https://www.cve.org/CVERecord?id=CVE-2023-32200";>CVE-2023-32200</a> 
affects Jena 3.7.0
+through Jena 4.8.0 and relates to the
+<a 
href="https://jena.apache.org/documentation/query/javascript-functions.html";>Javascript
 SPARQL Functions</a>
+feature of our ARQ SPARQL engine.</p>
+<p>There is insufficient restrictions of called script functions in Apache Jena
+versions 4.8.0 and earlier, when invoking custom scripts. It allows a remote
+user to execute javascript via a SPARQL query.</p>
+<p>From Jena 4.9.0, script functions <strong>MUST</strong> be added to an 
explicit &ldquo;allow&rdquo; list
+for them to be called from the SPARQL query engine. This is in addition to the
+script enabling controls of Jena 4.8.0 which <strong>MUST</strong> also be 
applied.</p>
+<p>Users should upgrade to latest Jena 4.x <a href="../download/">release</a> 
available.</p>
+<h4 
id="cve-2023-22665---exposure-of-arbitrary-execution-in-script-engine-expressions">CVE-2023-22665
 - Exposure of arbitrary execution in script engine expressions.</h4>
+<p><a 
href="https://www.cve.org/CVERecord?id=CVE-2023-22665";>CVE-2023-22665</a> 
affects Jena
+3.7.0 through 4.7.0 and relates to the
+<a 
href="https://jena.apache.org/documentation/query/javascript-functions.html";>Javascript
 SPARQL Functions</a>
+feature of our ARQ SPARQL engine.</p>
+<p>From Jena 4.8.0 onwards this feature <strong>MUST</strong> be explicitly 
enabled by end
+users, and on newer JVMs (Java 17 onwards) a JavaScript script engine 
<strong>MUST</strong>
+be explicitly added to the environment.</p>
+<p>However, when enabled this feature does expose the majority of the 
underlying
+scripting engine directly to SPARQL queries so may provide a vector for
+arbitrary code execution.  Therefore, it is recommended that this feature 
remain
+disabled for any publicly accessible deployment that utilises the ARQ query
+engine.</p>
 <p>Users should upgrade to latest Jena 4.x <a href="../download/">release</a> 
available.</p>
-<h2 id="cve-2022-45136---jdbc-serialisation-in-apache-jena-sdb">CVE-2022-45136 
- JDBC Serialisation in Apache Jena SDB</h2>
+<h4 id="cve-2022-45136---jdbc-serialisation-in-apache-jena-sdb">CVE-2022-45136 
- JDBC Serialisation in Apache Jena SDB</h4>
 <p><a 
href="https://www.cve.org/CVERecord?id=CVE-2022-45136";>CVE-2022-45136</a> 
affects all versions of <a href="../documentation/archive/sdb/">Jena
 SDB</a> up to and including the final <code>3.17.0</code> release.</p>
 <p>Apache Jena SDB has been EOL since December 2020 and we recommend any 
remaining users migrate to <a href="../documentation/tdb2/">Jena TDB
 2</a> or other 3rd party vendor alternatives.</p>
 <p>Apache Jena would like to thank Crilwa &amp; LaNyer640 for reporting this 
issue</p>
-<h2 id="cve-2022-28890---processing-external-dtds">CVE-2022-28890 - Processing 
External DTDs</h2>
+<h4 id="cve-2022-28890---processing-external-dtds">CVE-2022-28890 - Processing 
External DTDs</h4>
 <p><a 
href="https://www.cve.org/CVERecord?id=CVE-2022-28890";>CVE-2022-28890</a> 
affects the RDF/XML parser in Jena 4.4.0
 only.</p>
 <p>Users should upgrade to latest Jena 4.x <a href="../download/">release</a> 
available.</p>
 <p>Apache Jena would like to thank Feras Daragma, Avishag Shapira &amp; Amit 
Laish (GE Digital, Cyber Security Lab) for their
 report.</p>
-<h2 id="cve-2021-39239---xml-external-entity-xxe-vulnerability">CVE-2021-39239 
- XML External Entity (XXE) Vulnerability</h2>
+<h4 id="cve-2021-39239---xml-external-entity-xxe-vulnerability">CVE-2021-39239 
- XML External Entity (XXE) Vulnerability</h4>
 <p><a 
href="https://www.cve.org/CVERecord?id=CVE-2021-39239";>CVE-2021-39239</a> 
affects XML parsing up to and including the Jena <code>4.1.0</code> release.</p>
 <p>Users should upgrade to latest Jena 4.x <a href="../download/">release</a> 
available.</p>
-<h2 
id="cve-2021-33192---display-information-ui-xss-in-apache-jena-fuseki">CVE-2021-33192
 - Display information UI XSS in Apache Jena Fuseki</h2>
+<h4 
id="cve-2021-33192---display-information-ui-xss-in-apache-jena-fuseki">CVE-2021-33192
 - Display information UI XSS in Apache Jena Fuseki</h4>
 <p><a 
href="https://www.cve.org/CVERecord?id=CVE-2021-33192";>CVE-2021-33192</a> 
affected
 <a href="../documentation/fuseki2/">Fuseki</a> versions <code>2.0.0</code> 
through <code>4.0.0</code>.</p>
 <p>Users should upgrade to latest Jena 4.x <a href="../download/">release</a> 
available.</p>
-<h1 id="cves-in-jena-dependencies">CVEs in Jena Dependencies</h1>
+<h2 id="cves-in-jena-dependencies">CVEs in Jena Dependencies</h2>
 <p>The following advisories are CVEs in Jena&rsquo;s dependencies that may 
affect users of Jena, as with Jena specific CVEs our
 standard <a href="#security-issue-policy">Security Issue Policy</a> applies 
and any necessary dependency updates, dependency API
 and/or configuration changes have been adopted and released as soon as 
appropriate.</p>
-<h2 id="log4shell">log4shell</h2>
+<h4 id="log4shell">log4shell</h4>
 <p><a 
href="https://www.cve.org/CVERecord?id=CVE-2021-45046";>CVE-2021-45105</a>,
 <a href="https://www.cve.org/CVERecord?id=CVE-2021-45105";>CVE-2021-45105</a> 
and
 <a href="https://www.cve.org/CVERecord?id=CVE-2021-44832";>CVE-2021-44832</a>, 
collectively known as
@@ -275,23 +309,37 @@ for <a href="../documentation/fuseki2/">Fuseki</a> and 
our command line tools.</
     <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
     <nav id="TableOfContents">
   <ul>
-    <li><a href="#process">Process</a></li>
-    <li><a href="#single-supported-version">Single Supported Version</a></li>
-    <li><a href="#standard-mitigation-advice">Standard Mitigation 
Advice</a></li>
-    <li><a href="#end-of-life-eol-components">End of Life (EOL) 
Components</a></li>
-    <li><a href="#security-issues-in-dependencies">Security Issues in 
Dependencies</a></li>
-  </ul>
-
-  <ul>
-    <li><a 
href="#cve-2023-22665---exposure-of-arbitrary-execution-in-script-engine-expressions">CVE-2023-22665
 - Exposure of arbitrary execution in script engine expressions.</a></li>
-    <li><a 
href="#cve-2022-45136---jdbc-serialisation-in-apache-jena-sdb">CVE-2022-45136 - 
JDBC Serialisation in Apache Jena SDB</a></li>
-    <li><a href="#cve-2022-28890---processing-external-dtds">CVE-2022-28890 - 
Processing External DTDs</a></li>
-    <li><a 
href="#cve-2021-39239---xml-external-entity-xxe-vulnerability">CVE-2021-39239 - 
XML External Entity (XXE) Vulnerability</a></li>
-    <li><a 
href="#cve-2021-33192---display-information-ui-xss-in-apache-jena-fuseki">CVE-2021-33192
 - Display information UI XSS in Apache Jena Fuseki</a></li>
-  </ul>
-
-  <ul>
-    <li><a href="#log4shell">log4shell</a></li>
+    <li><a href="#process">Process</a>
+      <ul>
+        <li><a href="#single-supported-version">Single Supported 
Version</a></li>
+        <li><a href="#standard-mitigation-advice">Standard Mitigation 
Advice</a></li>
+        <li><a href="#end-of-life-eol-components">End of Life (EOL) 
Components</a></li>
+        <li><a href="#security-issues-in-dependencies">Security Issues in 
Dependencies</a></li>
+      </ul>
+    </li>
+    <li><a href="#jena-cves">Jena CVEs</a>
+      <ul>
+        <li>
+          <ul>
+            <li><a 
href="#cve-2023-32200---exposure-of-execution-in-script-engine-expressions">CVE-2023-32200
 - Exposure of execution in script engine expressions.</a></li>
+            <li><a 
href="#cve-2023-22665---exposure-of-arbitrary-execution-in-script-engine-expressions">CVE-2023-22665
 - Exposure of arbitrary execution in script engine expressions.</a></li>
+            <li><a 
href="#cve-2022-45136---jdbc-serialisation-in-apache-jena-sdb">CVE-2022-45136 - 
JDBC Serialisation in Apache Jena SDB</a></li>
+            <li><a 
href="#cve-2022-28890---processing-external-dtds">CVE-2022-28890 - Processing 
External DTDs</a></li>
+            <li><a 
href="#cve-2021-39239---xml-external-entity-xxe-vulnerability">CVE-2021-39239 - 
XML External Entity (XXE) Vulnerability</a></li>
+            <li><a 
href="#cve-2021-33192---display-information-ui-xss-in-apache-jena-fuseki">CVE-2021-33192
 - Display information UI XSS in Apache Jena Fuseki</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
+    <li><a href="#cves-in-jena-dependencies">CVEs in Jena Dependencies</a>
+      <ul>
+        <li>
+          <ul>
+            <li><a href="#log4shell">log4shell</a></li>
+          </ul>
+        </li>
+      </ul>
+    </li>
   </ul>
 </nav>
   </aside>
diff --git a/content/documentation/fuseki2/fuseki-modules.html 
b/content/documentation/fuseki2/fuseki-modules.html
index 4b36c3e16..505cc5f8e 100644
--- a/content/documentation/fuseki2/fuseki-modules.html
+++ b/content/documentation/fuseki2/fuseki-modules.html
@@ -181,104 +181,57 @@
   
   <aside class="text-muted align-self-start mb-3 p-0 d-xl-none d-block">
     <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
-    <nav id="TableOfContents">
-  <ul>
-    <li>
-      <ul>
-        <li><a href="#automatically-loaded">Automatically loaded</a></li>
-        <li><a href="#programmaticaly-configuring-a-server">Programmaticaly 
configuring a server</a></li>
-        <li><a href="#fuseki-module-operations">Fuseki Module 
operations</a></li>
-        <li><a href="#fusekimodule-interface"><code>FusekiModule</code> 
interface</a></li>
-      </ul>
-    </li>
-  </ul>
-</nav>
+    <nav id="TableOfContents"></nav>
   </aside>
   <article class="flex-column me-lg-4">
     <p><em>Fuseki modules</em> are a mechanism to include extension code into 
a Fuseki
 server. Modules are invoked during the process of building a <a 
href="./fuseki-main.html">Fuseki
-Main</a> server. A module can modify the server
+Main</a> server. The module can modify the server
 configuration, add new functionality, or react to a server being built and
 started.</p>
-<p>This feature was added in Jena version 4.3.0. It is an experimental feature
-that will evolve based on feedback and use cases.</p>
-<p>The interface for modules is <code>FusekiModule</code>; if automatcally 
loaded, the
-interface is <code>FusekiAutoModule</code> which extends 
<code>FusekiModule</code>.</p>
-<p>Fuseki modules can be provided in two ways:</p>
-<ul>
-<li>Loaded from additional jars on the classpath</li>
-<li>Programmatically controlling the setup of the <code>FusekiServer</code> 
server.</li>
-</ul>
-<h3 id="automatically-loaded">Automatically loaded</h3>
-<p>Fuseki Modules can be loaded using the JDK
-<a href="https://www.baeldung.com/java-spi";>ServiceLoader</a> by being placing
-a jar file on the classpath,
-together with any additional dependencies. These provide interface
-<code>FusekiAutoModule</code>.
-The service loader is controlled by file resources
-<code>META-INF/services/org.apache.jena.fuseki.main.sys.FusekiAutoModule</code>
 in the jar
+<p>This feature was added in Jena version 4.3.0. They are an expeirmental 
feature
+that will evolve based on experineace and use cases.</p>
+<p>Fuseki Modules are loaded use the JDK
+<a href="https://www.baeldung.com/java-spi";>ServiceLoader</a> by being placing 
a jar file on the classpath,
+together with any additional dependencies. The service loader looks for files
+<code>META-INF/services/org.apache.jena.fuseki.main.sys.FusekiModule</code> in 
the jar
 file.
-The module class must have a no-argument constructor.</p>
-<p>This is often done by placing the file in the development code in
+This is often done by placing the file in the development code in
 <code>src/main/resources/META-INF/services/</code>).
 The file containing a line with the implementation full class name. If
 <a href="../notes/jena-repack.html">repacking</a> Fuseki with the 
maven-shade-plugin, make
-sure the <code>ServicesResourceTransformer</code> is used.</p>
-<p>The method <code>start</code> is called when the module is loaded. Custom 
operations can
+sure the <code>ServicesResourceTransformer</code> is used. The module must 
have a no
+argument constructor.</p>
+<p>If using Fuseki as an <a href="./fuseki-embedded.html">embedded server</a>, 
the module is
+added in code as:</p>
+<pre tabindex="0"><code>    FusekiModule module = new MyModule();
+    FusekiModules.add(module);
+</code></pre><p>The method <code>start</code> is called when the module is 
loaded. Custom operations can
 be globally registered at this point (see the <a 
href="https://github.com/apache/jena/tree/main/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/examples";>Fuseki
 examples</a> directory).</p>
-<p>A <code>FusekiAutoModule</code> can provide a level, an integer, to control 
the order in which
-modules are invoked during server building. Lower numbers are invoked before 
larger
-numbers at each step.</p>
-<h3 id="programmaticaly-configuring-a-server">Programmaticaly configuring a 
server</h3>
-<p>If creating a Fuseki server from Java, the modules can be autoloaded as 
described above,
-or explicitly added to the server builder.</p>
-<p>A <code>FusekiModules</code> object is collection of modules, called at 
each point in the order
-given when creating the object.</p>
-<pre tabindex="0"><code>    FusekiModule myModule = new MyModule();
-    FusekiModules fmods = FusekiModules.create(myModule);
-    FusekiServer server = FusekiServer.create()
-        ...
-        .fusekiModules(fmods)
-        ...
-        .build();  
-</code></pre><h3 id="fuseki-module-operations">Fuseki Module operations</h3>
 <p>The module lifecycle during creating a Fuseki server is:</p>
 <ul>
-<li><code>prepare</code> - called at the start of the server
-build steps before setting up the datasets.</li>
-<li><code>configured</code> - access and modify the setup.
-This is called after the server has been configured, before the server is 
built.
-It defaults to calls to <code>configDataAccessPoint</code> for dataset being 
hosted by the server.</li>
-<li><code>server</code> - called after the built, before the return of 
<code>FusekiServerBuilder.build()</code></li>
-</ul>
-<p>There are also operations notified when a server is reloaded while 
running.</p>
-<ul>
-<li><code>serverConfirmReload</code></li>
-<li><code>serveReload</code></li>
-</ul>
-<p>As of Jena 4.9.0, eeload is not yet supported.</p>
-<p>The Fuseki start up sequence is:</p>
-<ul>
-<li><code>serverBeforeStarting</code> - called at the start of 
<code>server.start()</code></li>
-<li><code>serverAfterStarting</code> - called at the end of 
<code>server.start()</code></li>
-<li><code>serverStopped</code> - called as just after the server
-has stopped in the <code>server.stop()</code> call.
+<li><code>configuration</code> - access and modify the setup.
+This is called after the server has been configured, just before the server is 
built.</li>
+<li><code>server</code> - access the built server</li>
+<li><code>serverBeforeStarting</code> - about to call 
&ldquo;server.start()&rdquo;</li>
+<li><code>serverAfterStarting</code> - just after calling 
&ldquo;server.start()&rdquo;</li>
+<li><code>serverStopped</code> - called as the server stop
 (note, this is not always called because a server can simply exit the 
JVM).</li>
 </ul>
-<p>A Fuseki module does not need to implement all these steps. The default for 
all
-steps is &ldquo;do nothing&rdquo;.  Usually, an extension will only be 
interested in
-certain steps, such as <code>prepare</code>, or the registry information of
+<p>A Fuseki module does not need to implement all these steps, the default for 
all
+of them is &ldquo;do nothing&rdquo;. Usually, an extension will only be 
interested in
+certain stpes, like the configuration and registry information of
 <code>configuration</code>.</p>
-<p>During the configuration step, the Fuseki configuration file for the server 
is
+<p>During the configuration step, the Fuskei configuration file for the server 
is
 available. If the server is built programmatically without a configuration 
file,
 this is null.</p>
 <p>The configuration file can contain RDF information to build resources (e.g.
-it can contain additional assembler descriptions not directly linked to the 
server).</p>
+contains assembler descriptions not directly linked to the server).</p>
 <p>There is an <a 
href="https://github.com/apache/jena/blob/main/jena-fuseki2/jena-fuseki-main/src/test/java/org/apache/jena/fuseki/main/examples/ExFusekiMain_3_FusekiModule.java";>example
 Fuseki
 Module</a>
 in the Fuseki examples directory.</p>
-<h3 id="fusekimodule-interface"><code>FusekiModule</code> interface</h3>
+<p><code>FusekiModule</code> interface:</p>
 <div class="highlight"><pre tabindex="0" 
style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code
 class="language-java" data-lang="java"><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic"> * Module interface for Fuseki.
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic"> * &lt;p&gt;
@@ -287,39 +240,31 @@ in the Fuseki examples directory.</p>
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic"> */</span>
 </span></span><span style="display:flex;"><span><span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">interface</span> <span 
style="color:#00f">FusekiModule</span> <span 
style="color:#a2f;font-weight:bold">extends</span> SubsystemLifecycle <span 
style="color:#666">{</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Display name to identify this 
module.
+</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Unique (within this server) name to 
identify this module.
+</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * The default is to generate an UUID.
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> String <span 
style="color:#00a000">name</span><span style="color:#666">();</span>
 </span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">// -- Build cycle.
+</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/** Module loaded */</span>
+</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f">@Override</span>
+</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">start</span><span style="color:#666">()</span> <span 
style="color:#666">{}</span>
+</span></span><span style="display:flex;"><span>
+</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">// ---- Build cycle
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic"></span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Called at the start of 
&#34;build&#34; step. The builder has been set according to the
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * configuration of API calls and 
parsing configuration files. No build actions have been carried out yet.
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * The module can make further 
FusekiServer.{@link Builder} calls.
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * The &#34;configModel&#34; parameter 
is set if a configuration file was used otherwise it is null.
+</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * configuration. The 
&#34;configModel&#34; parameter is set if a configuration file was
+</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * used otherwise it is null.
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">prepare</span><span 
style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span 
style="color:#b44">Builder</span> serverBuilder<span 
style="color:#666">,</span> Set<span style="color:#666">&lt;</span>String<span 
style="color:#6 [...]
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>     <span 
style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      * Called after the 
DataAccessPointRegistry has been built.
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      * &lt;p&gt;
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      * The default implementation is to 
call {@link #configDataAccessPoint(DataAccessPoint, Model)}
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      * for each {@link DataAccessPoint}.
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      * &lt;pre&gt;
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      *    
dapRegistry.accessPoints().forEach(accessPoint{@literal 
-&gt;}configDataAccessPoint(accessPoint, configModel));
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      * &lt;/pre&gt;
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">      */</span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">configured</span><span 
style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span 
style="color:#b44">Builder</span> serverBuilder<span 
style="color:#666">,</span> DataAccessPointRegistry dapRegistry<span 
style="color:#666">,</ [...]
-</span></span><span style="display:flex;"><span>        dapRegistry<span 
style="color:#666">.</span><span style="color:#b44">accessPoints</span><span 
style="color:#666">().</span><span style="color:#b44">forEach</span><span 
style="color:#666">(</span>accessPoint<span 
style="color:#666">-&gt;</span>configDataAccessPoint<span 
style="color:#666">(</span>accessPoint<span style="color:#666">,</span> 
configModel<span style="color:#666">));</span>
+</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">configuration</span><span 
style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span 
style="color:#b44">Builder</span> builder<span style="color:#666">,</span> 
DataAccessPointRegistry dapRegistry<span style="color:#666">,</spa [...]
+</span></span><span style="display:flex;"><span>        dapRegistry<span 
style="color:#666">.</span><span style="color:#b44">accessPoints</span><span 
style="color:#666">().</span><span style="color:#b44">forEach</span><span 
style="color:#666">(</span>accessPoint<span 
style="color:#666">-&gt;</span>configDataAccessPoint<span 
style="color:#666">(</span>builder<span style="color:#666">,</span> 
accessPoint<span style="color:#666">,</span> configModel<span 
style="color:#666">));</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * This method is called for each 
{@link DataAccessPoint} by the default
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * implementation of {@link 
#configured} after the new servers
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * DataAccessPointRegistry has been 
built.
+</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * This method is called for each 
{@link DataAccessPoint}
+</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * by the default implementation of 
{@link #configuration}.
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">configDataAccessPoint</span><span 
style="color:#666">(</span>DataAccessPoint dap<span style="color:#666">,</span> 
Model configModel<span style="color:#666">)</span> <span 
style="color:#666">{}</span>
+</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">configDataAccessPoint</span><span 
style="color:#666">(</span>FusekiServer<span style="color:#666">.</span><span 
style="color:#b44">Builder</span> builder<span style="color:#666">,</span> 
DataAccessPoint dap<span style="color:#666">,</span> Model [...]
 </span></span><span style="display:flex;"><span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Built, not started, about to be 
returned to the builder caller.
@@ -327,18 +272,6 @@ in the Fuseki examples directory.</p>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">server</span><span 
style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> 
<span style="color:#666">{</span> <span style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Confirm or reject a request to 
reload.
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">boolean</span> <span 
style="color:#00a000">serverConfirmReload</span><span 
style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> 
<span style="color:#666">{</span> <span 
style="color:#a2f;font-weight:bold">return</span> <span 
style="color:#a2f;font-weight:bold [...]
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Perform any operations necessary 
for a reload.
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">serverReload</span><span 
style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> 
<span style="color:#666">{</span> <span style="color:#666">}</span>
-</span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">// -- Server start up
-</span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic"></span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/**
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     * Server starting - called just 
before server.start happens.
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">serverBeforeStarting</span><span 
style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> 
<span style="color:#666">{</span> <span style="color:#666">}</span>
@@ -356,30 +289,16 @@ in the Fuseki examples directory.</p>
 </span></span></span><span style="display:flex;"><span><span 
style="color:#080;font-style:italic">     */</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">serverStopped</span><span 
style="color:#666">(</span>FusekiServer server<span style="color:#666">)</span> 
<span style="color:#666">{</span> <span style="color:#666">}</span>
 </span></span><span style="display:flex;"><span>
-</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/** Module unloaded : do not rely on this 
happening. */</span>
+</span></span><span style="display:flex;"><span>    <span 
style="color:#080;font-style:italic">/** Module unloaded */</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#a2f">@Override</span>
 </span></span><span style="display:flex;"><span>    <span 
style="color:#a2f;font-weight:bold">public</span> <span 
style="color:#a2f;font-weight:bold">default</span> <span 
style="color:#0b0;font-weight:bold">void</span> <span 
style="color:#00a000">stop</span><span style="color:#666">()</span> <span 
style="color:#666">{}</span>
 </span></span><span style="display:flex;"><span><span 
style="color:#666">}</span>
-</span></span></code></pre></div><p><code>FusekiAutoModules</code> also 
provide the
-<a 
href="https://jena.apache.org/documentation/javadoc/jena/org.apache.jena.core/org/apache/jena/sys/JenaSubsystemLifecycle.html";><code>org.apache.jena.base.module.SubsystemLifecycle</code></a>
-interface.</p>
-
+</span></span></code></pre></div>
   </article>
   
   <aside class="text-muted align-self-start mb-3 mb-xl-5 p-0 d-none d-xl-flex 
flex-column sticky-top">
     <h2 class="h6 sticky-top m-0 p-2 bg-body-tertiary">On this page</h2>
-    <nav id="TableOfContents">
-  <ul>
-    <li>
-      <ul>
-        <li><a href="#automatically-loaded">Automatically loaded</a></li>
-        <li><a href="#programmaticaly-configuring-a-server">Programmaticaly 
configuring a server</a></li>
-        <li><a href="#fuseki-module-operations">Fuseki Module 
operations</a></li>
-        <li><a href="#fusekimodule-interface"><code>FusekiModule</code> 
interface</a></li>
-      </ul>
-    </li>
-  </ul>
-</nav>
+    <nav id="TableOfContents"></nav>
   </aside>
 </main>
 
diff --git a/content/documentation/index.xml b/content/documentation/index.xml
index c7b451d86..8067c2142 100644
--- a/content/documentation/index.xml
+++ b/content/documentation/index.xml
@@ -810,9 +810,9 @@ Many web log analysers can process this 
format.</description>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       
<guid>https://jena.apache.org/documentation/fuseki2/fuseki-modules.html</guid>
-      <description>Fuseki modules are a mechanism to include extension code 
into a Fuseki server. Modules are invoked during the process of building a 
Fuseki Main server. A module can modify the server configuration, add new 
functionality, or react to a server being built and started.
-This feature was added in Jena version 4.3.0. It is an experimental feature 
that will evolve based on feedback and use cases.
-The interface for modules is FusekiModule; if automatcally loaded, the 
interface is FusekiAutoModule which extends FusekiModule.</description>
+      <description>Fuseki modules are a mechanism to include extension code 
into a Fuseki server. Modules are invoked during the process of building a 
Fuseki Main server. The module can modify the server configuration, add new 
functionality, or react to a server being built and started.
+This feature was added in Jena version 4.3.0. They are an expeirmental feature 
that will evolve based on experineace and use cases.
+Fuseki Modules are loaded use the JDK ServiceLoader by being placing a jar 
file on the classpath, together with any additional dependencies.</description>
     </item>
     
     <item>
diff --git a/content/documentation/io/rdf-output.html 
b/content/documentation/io/rdf-output.html
index dfa5a9fa6..ea2c59780 100644
--- a/content/documentation/io/rdf-output.html
+++ b/content/documentation/io/rdf-output.html
@@ -423,10 +423,6 @@ or write N-triples/N-Quads.</p>
 
 :b      foaf:knows  :a .
 </code></pre>
-<p>The default pretty printed output (shown above) aligns predicates
-and objects, which can result in wide lines. For a narrower
-indentation style, set <code>ttl:indentStyle</code> to <code>long</code>.
-See <a href="#opt-turtle-trig">Turtle and Trig format options</a>.</p>
 <p>Pretty printed formats:</p>
 <table>
 <thead>
@@ -560,11 +556,6 @@ otherwise noted, the setting applies to both Turtle and 
TriG.</p>
 <td>&ldquo;sparql&rdquo;, &ldquo;rdf11&rdquo;, &ldquo;at&rdquo;, 
&ldquo;n3&rdquo;</td>
 </tr>
 <tr>
-<td>RIOT.symTurtleIndentStyle</td>
-<td>&ldquo;ttl:indentStyle&rdquo;</td>
-<td>&ldquo;wide&rdquo;, &ldquo;long&rdquo;</td>
-</tr>
-<tr>
 <td>RIOT.symTurtleOmitBase</td>
 <td>&ldquo;ttl:omitBase&rdquo;</td>
 <td>&ldquo;true&rdquo;, &ldquo;false&rdquo;</td>
@@ -603,17 +594,6 @@ otherwise noted, the setting applies to both Turtle and 
TriG.</p>
      .set(RIOT.symTurtleDirectiveStyle, &#34;sparql&#34;)
      .lang(Lang.TTL)
      .output(System.out);
-</code></pre><h5 id="_setting-indent-style_"><em>Setting indent style</em></h5>
-<pre tabindex="0"><code>    riot --set ttl:indentStyle=long --formatted=ttl 
file1.rdf file2.nt ...
-</code></pre><p>and in code:</p>
-<pre tabindex="0"><code>RDFWriter.source(model)
-     .format(RDFFormat.TURTLE_LONG)
-     .output(System.out);
-</code></pre><p>or:</p>
-<pre tabindex="0"><code>  RDFWriter.source(model)
-     .set(RIOT.symTurtleIndentStyle, &#34;long&#34;)
-     .lang(Lang.TTL)
-     .output(System.out);
 </code></pre><h5 id="_base-uri_"><em>Base URI</em></h5>
 <p>Output can be written with relative URIs and no base. Note: such output is 
not
 portable; its meaning depends on the base URI at the time of reading.</p>
diff --git a/content/documentation/query/javascript-functions.html 
b/content/documentation/query/javascript-functions.html
index 146d56dc1..bce078be2 100644
--- a/content/documentation/query/javascript-functions.html
+++ b/content/documentation/query/javascript-functions.html
@@ -185,7 +185,6 @@
   <ul>
     <li><a href="#requirements">Requirements</a></li>
     <li><a href="#enabling-and-loading-javascript-functions">Enabling and 
Loading JavaScript functions</a></li>
-    <li><a href="#identifying-callable-functions">Identifying callable 
functions</a></li>
     <li><a href="#using-javascript-functions">Using JavaScript functions</a>
       <ul>
         <li><a href="#arguments-and-function-results">Arguments and Function 
Results</a></li>
@@ -245,25 +244,6 @@ sparql --set arq:js-library=SomeFile.js --data ... --query 
...
 <p><strong>WARNING:</strong> Enabling this feature exposes the majority of the 
underlying scripting engine directly to SPARQL queries so
 may provide a vector for arbitrary code execution.  Therefore it is 
recommended that this feature remain disabled for
 any publicly accessible deployment that utilises the ARQ query engine.</p>
-<h2 id="identifying-callable-functions">Identifying callable functions</h2>
-<p>The context setting &ldquo;&ldquo;<a 
href="http://jena.apache.org/ARQ#scriptAllowList%22";>http://jena.apache.org/ARQ#scriptAllowList&quot;</a>
 is used to
-provide a comma-separated list of function names, which are the local part of
-the URI, that are allowed to be called
-as custom script functions.</p>
-<p>This can be written as <code>arq:scriptAllowList</code> for commands and 
Fuseki configuration files.
-It is the java constant <code>ARQ.symCustomFunctionScriptAllowList</code></p>
-<pre><code>sparql --set arq:js-library=SomeFile.js \
-       --set arq:scriptAllowList=toCamelCase,anotherFunction
-       --data ... --query ...
-</code></pre>
-<p>and a query of:</p>
-<pre><code>PREFIX js: &lt;http://jena.apache.org/ARQ/jsFunction#&gt;
-
-SELECT ?input (js:toCamelCase(?input) AS ?X)
-{
-    VALUES ?input { &quot;some woRDs to PROCESS&quot; }
-}
-</code></pre>
 <h2 id="using-javascript-functions">Using JavaScript functions</h2>
 <p>SPARQL functions implemented in JavaScript are automatically called when a
 URI starting &ldquo;<a 
href="http://jena.apache.org/ARQ/jsFunction#%22";>http://jena.apache.org/ARQ/jsFunction#&quot;</a>
 used.</p>
@@ -334,9 +314,7 @@ SELECT ?input (js:toCamelCase(?input) AS ?X)
 <p>The context setting can be provided on the command line starting the
 server, for example:</p>
 <pre><code>export JVM_ARGS=-Djena:scripting=true
-fuseki --set arq:js-library=functions.js \
-       --set arq:scriptAllowList=toCamelCase \                                 
            
-       --mem /ds
+fuseki --set arq:js-library=functions.js --mem /ds
 </code></pre>
 <p>or it can be specified in the server configuration file 
<code>config.ttl</code>:</p>
 <pre><code>PREFIX :        &lt;#&gt;
@@ -351,10 +329,6 @@ PREFIX ja:      
&lt;http://jena.hpl.hp.com/2005/11/Assembler#&gt;
          ja:cxtName &quot;arq:js-library&quot; ;
          ja:cxtValue &quot;/filepath/functions.js&quot;
     ] ;
-    ja:context [
-         ja:cxtName &quot;arq:scriptAllowList&quot; ;
-         ja:cxtValue &quot;toCamelCase&quot;
-    ] ;
 .
 
 &lt;#service&gt; rdf:type fuseki:Service;
@@ -381,7 +355,6 @@ fuseki --conf config.ttl
   <ul>
     <li><a href="#requirements">Requirements</a></li>
     <li><a href="#enabling-and-loading-javascript-functions">Enabling and 
Loading JavaScript functions</a></li>
-    <li><a href="#identifying-callable-functions">Identifying callable 
functions</a></li>
     <li><a href="#using-javascript-functions">Using JavaScript functions</a>
       <ul>
         <li><a href="#arguments-and-function-results">Arguments and Function 
Results</a></li>
diff --git a/content/download/index.html b/content/download/index.html
index 91907fffb..1b8c11b71 100644
--- a/content/download/index.html
+++ b/content/download/index.html
@@ -208,9 +208,9 @@
 </thead>
 <tbody>
 <tr>
-<td><a 
href="[preferred]jena/source/jena-4.9.0-source-release.zip">jena-4.9.0-source-release.zip</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/source/jena-4.9.0-source-release.zip.sha512";>SHA512</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/source/jena-4.9.0-source-release.zip.asc";>PGP</a></td>
+<td><a 
href="[preferred]jena/source/jena-4.8.0-source-release.zip">jena-4.8.0-source-release.zip</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/source/jena-4.8.0-source-release.zip.sha512";>SHA512</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/source/jena-4.8.0-source-release.zip.asc";>PGP</a></td>
 </tr>
 </tbody>
 </table>
@@ -226,14 +226,14 @@
 </thead>
 <tbody>
 <tr>
-<td><a 
href="[preferred]jena/binaries/apache-jena-fuseki-4.9.0.tar.gz">apache-jena-fuseki-4.9.0.tar.gz</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.9.0.tar.gz.sha512";>SHA512</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.9.0.tar.gz.asc";>PGP</a></td>
+<td><a 
href="[preferred]jena/binaries/apache-jena-fuseki-4.8.0.tar.gz">apache-jena-fuseki-4.8.0.tar.gz</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.8.0.tar.gz.sha512";>SHA512</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.8.0.tar.gz.asc";>PGP</a></td>
 </tr>
 <tr>
-<td><a 
href="[preferred]jena/binaries/apache-jena-fuseki-4.9.0.zip">apache-jena-fuseki-4.9.0.zip</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.9.0.zip.sha512";>SHA512</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.9.0.zip.asc";>PGP</a></td>
+<td><a 
href="[preferred]jena/binaries/apache-jena-fuseki-4.8.0.zip">apache-jena-fuseki-4.8.0.zip</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.8.0.zip.sha512";>SHA512</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.8.0.zip.asc";>PGP</a></td>
 </tr>
 </tbody>
 </table>
@@ -249,14 +249,14 @@ The binary distribution of libraries contains the APIs, 
SPARQL engine, the TDB n
 </thead>
 <tbody>
 <tr>
-<td><a 
href="[preferred]jena/binaries/apache-jena-4.9.0.tar.gz">apache-jena-4.9.0.tar.gz</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.9.0.tar.gz.sha512";>SHA512</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.9.0.tar.gz.asc";>PGP</a></td>
+<td><a 
href="[preferred]jena/binaries/apache-jena-4.8.0.tar.gz">apache-jena-4.8.0.tar.gz</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.8.0.tar.gz.sha512";>SHA512</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.8.0.tar.gz.asc";>PGP</a></td>
 </tr>
 <tr>
-<td><a 
href="[preferred]jena/binaries/apache-jena-4.9.0.zip">apache-jena-4.9.0.zip</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.9.0.zip.sha512";>SHA512</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.9.0.zip.asc";>PGP</a></td>
+<td><a 
href="[preferred]jena/binaries/apache-jena-4.8.0.zip">apache-jena-4.8.0.zip</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.8.0.zip.sha512";>SHA512</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/apache-jena-4.8.0.zip.asc";>PGP</a></td>
 </tr>
 </tbody>
 </table>
@@ -272,9 +272,9 @@ The binary distribution of Fuseki as a WAR file:
 </thead>
 <tbody>
 <tr>
-<td><a 
href="[preferred]jena/binaries/jena-fuseki-war-4.9.0.war">jena-fuseki-war-4.9.0.war</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/jena-fuseki-war-4.9.0.war.sha512";>SHA512</a></td>
-<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/jena-fuseki-war-4.9.0.war.asc";>PGP</a></td>
+<td><a 
href="[preferred]jena/binaries/jena-fuseki-war-4.8.0.war">jena-fuseki-war-4.8.0.war</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/jena-fuseki-war-4.8.0.war.sha512";>SHA512</a></td>
+<td style="text-align:center"><a 
href="https://downloads.apache.org/jena/binaries/jena-fuseki-war-4.8.0.war.asc";>PGP</a></td>
 </tr>
 </tbody>
 </table>
diff --git a/content/index.json b/content/index.json
index f0ae6506f..d1dbe12d5 100644
--- a/content/index.json
+++ b/content/index.json
@@ -1 +1 @@
-[{"categories":null,"contents":"This page is historical \u0026ldquo;for 
information only\u0026rdquo; - there is no Apache release of Eyeball and the 
code has not been updated for Jena3.\nThe original source code is available. So 
you\u0026rsquo;ve got Eyeball installed and you\u0026rsquo;ve run it on one of 
your files, and Eyeball doesn\u0026rsquo;t like it. You\u0026rsquo;re not sure 
why, or what to do about it. Here\u0026rsquo;s what\u0026rsquo;s going 
on.\nEyeball inspects your model a [...]
\ No newline at end of file
+[{"categories":null,"contents":"This page is historical \u0026ldquo;for 
information only\u0026rdquo; - there is no Apache release of Eyeball and the 
code has not been updated for Jena3.\nThe original source code is available. So 
you\u0026rsquo;ve got Eyeball installed and you\u0026rsquo;ve run it on one of 
your files, and Eyeball doesn\u0026rsquo;t like it. You\u0026rsquo;re not sure 
why, or what to do about it. Here\u0026rsquo;s what\u0026rsquo;s going 
on.\nEyeball inspects your model a [...]
\ No newline at end of file
diff --git a/content/index.xml b/content/index.xml
index 77226d382..589bd44fa 100644
--- a/content/index.xml
+++ b/content/index.xml
@@ -872,9 +872,9 @@ Many web log analysers can process this 
format.</description>
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       
<guid>https://jena.apache.org/documentation/fuseki2/fuseki-modules.html</guid>
-      <description>Fuseki modules are a mechanism to include extension code 
into a Fuseki server. Modules are invoked during the process of building a 
Fuseki Main server. A module can modify the server configuration, add new 
functionality, or react to a server being built and started.
-This feature was added in Jena version 4.3.0. It is an experimental feature 
that will evolve based on feedback and use cases.
-The interface for modules is FusekiModule; if automatcally loaded, the 
interface is FusekiAutoModule which extends FusekiModule.</description>
+      <description>Fuseki modules are a mechanism to include extension code 
into a Fuseki server. Modules are invoked during the process of building a 
Fuseki Main server. The module can modify the server configuration, add new 
functionality, or react to a server being built and started.
+This feature was added in Jena version 4.3.0. They are an expeirmental feature 
that will evolve based on experineace and use cases.
+Fuseki Modules are loaded use the JDK ServiceLoader by being placing a jar 
file on the classpath, together with any additional dependencies.</description>
     </item>
     
     <item>
@@ -1287,7 +1287,7 @@ Schemagen is typically invoked from the command line or 
from a built script (suc
       <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
       
       <guid>https://jena.apache.org/about_jena/security-advisories.html</guid>
-      <description>The Jena project has issued a number of security advisories 
during the lifetime of the project. On this page you&amp;rsquo;ll find details 
of our security issue process, as well as a listing of our past CVEs as well as 
relevant Dependency CVEs.
+      <description>The Jena project has issued a number of security advisories 
during the lifetime of the project. On this page you&amp;rsquo;ll find details 
of our security issue process, as a listing of our past CVEs and relevant 
Dependency CVEs.
 Process Jena follows the standard ASF Security for Committers policy for 
reporting and addressing security issues.
 If you think you have identified a Security issue in our project please refer 
to that policy for how to report it, and the process that the Jena Project 
Management Committee (PMC) will follow in addressing the issue.</description>
     </item>
diff --git a/content/sitemap.xml b/content/sitemap.xml
index f67a1a626..a81200d4e 100644
--- a/content/sitemap.xml
+++ b/content/sitemap.xml
@@ -6,7 +6,7 @@
     <lastmod>2020-06-28T16:59:07+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/about_jena.html</loc>
-    <lastmod>2023-04-26T11:32:32+01:00</lastmod>
+    <lastmod>2023-07-07T19:09:02+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/permissions/example.html</loc>
     <lastmod>2022-01-12T17:24:53+00:00</lastmod>
@@ -51,7 +51,7 @@
     <lastmod>2020-02-28T13:09:12+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/download/</loc>
-    <lastmod>2023-07-08T22:17:59+01:00</lastmod>
+    <lastmod>2023-04-16T17:26:15+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/archive/sdb/</loc>
     <lastmod>2022-11-09T14:16:56+00:00</lastmod>
@@ -114,7 +114,7 @@
     <lastmod>2021-11-05T08:11:46+00:00</lastmod>
   </url><url>
     
<loc>https://jena.apache.org/documentation/query/javascript-functions.html</loc>
-    <lastmod>2023-07-08T22:09:07+01:00</lastmod>
+    <lastmod>2023-04-26T11:23:47+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/query/lateral-join.html</loc>
     <lastmod>2023-02-26T22:14:57+01:00</lastmod>
@@ -201,10 +201,10 @@
     <lastmod>2023-04-09T15:11:22+02:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation.html</loc>
-    <lastmod>2023-07-08T22:09:33+01:00</lastmod>
+    <lastmod>2023-07-04T08:38:43+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/download.html</loc>
-    <lastmod>2023-07-08T22:17:59+01:00</lastmod>
+    <lastmod>2023-04-16T17:26:15+01:00</lastmod>
   </url><url>
     
<loc>https://jena.apache.org/documentation/notes/event-handler-howto.html</loc>
     <lastmod>2023-06-06T21:08:29+02:00</lastmod>
@@ -249,7 +249,7 @@
     <lastmod>2022-09-18T09:08:25+02:00</lastmod>
   </url><url>
     
<loc>https://jena.apache.org/documentation/fuseki2/fuseki-modules.html</loc>
-    <lastmod>2023-07-08T22:09:33+01:00</lastmod>
+    <lastmod>2022-02-01T20:25:33+00:00</lastmod>
   </url><url>
     
<loc>https://jena.apache.org/documentation/fuseki2/fuseki-quick-start.html</loc>
     <lastmod>2021-09-16T13:13:09+02:00</lastmod>
@@ -375,7 +375,7 @@
     <lastmod>2020-05-01T11:11:56+12:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/about_jena/security-advisories.html</loc>
-    <lastmod>2023-04-26T11:32:32+01:00</lastmod>
+    <lastmod>2023-07-07T19:09:02+01:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/txn/</loc>
     <lastmod>2020-02-28T13:09:12+01:00</lastmod>
@@ -723,6 +723,6 @@
     <lastmod>2023-02-20T16:01:22-05:00</lastmod>
   </url><url>
     <loc>https://jena.apache.org/documentation/io/rdf-output.html</loc>
-    <lastmod>2023-07-08T17:08:44-04:00</lastmod>
+    <lastmod>2022-08-26T15:49:37+01:00</lastmod>
   </url>
 </urlset>

Reply via email to