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

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 188f8f5374 [JAMES-3187] fixes most documentation generation
188f8f5374 is described below

commit 188f8f5374add8b931612a527f07c7d713e000f5
Author: Jean Helou <[email protected]>
AuthorDate: Wed Jan 28 06:42:53 2026 +0100

    [JAMES-3187] fixes most documentation generation
    
    Generating the documentation raised lots of warnings and errors with dead 
links and missing attributes.
    
    I did not fix the customization section ( 3 errors ) as I am unsure how to 
fix these links. The corresponding documentation lies in server specific 
directories.
    
    I also changed some code blocks to have syntax highlighting and a more 
consistent syntax at least within a file.
---
 docs/modules/community/pages/website.adoc          |  3 +-
 docs/modules/concepts/pages/configuration.adoc     |  2 +-
 docs/modules/concepts/pages/messages/imf.adoc      |  9 ++--
 docs/modules/concepts/pages/messages/mime.adoc     |  1 +
 .../modules/concepts/pages/operation/webadmin.adoc | 12 +++++
 docs/modules/concepts/pages/protocols/esmtp.adoc   |  2 +-
 docs/modules/concepts/pages/protocols/smtp.adoc    |  3 +-
 docs/modules/concepts/pages/user/index.adoc        |  6 ++-
 docs/modules/customization/pages/imap.adoc         | 15 ++++---
 docs/modules/customization/pages/index.adoc        | 52 +++++++++++++---------
 .../customization/pages/mailbox-listeners.adoc     | 15 ++++---
 docs/modules/servers/nav.adoc                      |  2 +-
 .../pages/basic/{conf => configure}/index.adoc     |  0
 docs/modules/servers/pages/basic/index.adoc        |  2 +-
 docs/modules/servers/pages/basic/objectives.adoc   |  2 +-
 .../consistency_model_data_replication_extend.adoc |  2 +
 .../architecture/specialized-instances.adoc        |  3 +-
 .../servers/pages/distributed/configure/dsn.adoc   |  1 +
 .../pages/distributed/configure/listeners.adoc     |  3 +-
 .../configure/{mat-sts.adoc => mta-sts.adoc}       |  0
 .../servers/pages/extendable/extending.adoc        |  4 ++
 docs/modules/servers/pages/extendable/index.adoc   |  4 ++
 docs/modules/servers/pages/index.adoc              |  2 +-
 .../architecture/specialized-instances.adoc        |  3 +-
 .../postgres/benchmark/benchmark_prepare.adoc      |  6 ++-
 .../servers/pages/postgres/configure/dsn.adoc      |  1 +
 .../pages/postgres/configure/listeners.adoc        |  1 +
 .../configure/{mat-sts.adoc => mta-sts.adoc}       |  0
 docs/modules/servers/partials/configure/imap.adoc  | 15 ++++---
 .../servers/partials/configure/matchers.adoc       |  2 -
 .../servers/partials/configure/smtp-hooks.adoc     | 22 +--------
 ...itation-hoot.adoc => smtp-limitation-hook.adoc} |  1 -
 32 files changed, 113 insertions(+), 83 deletions(-)

diff --git a/docs/modules/community/pages/website.adoc 
b/docs/modules/community/pages/website.adoc
index 6513b57384..2e831784ff 100644
--- a/docs/modules/community/pages/website.adoc
+++ b/docs/modules/community/pages/website.adoc
@@ -1,6 +1,7 @@
 = Building and publishing the website
+:path: src/homepage
 
-The source code of website https://james.apache.org[james.apache.org] is 
located in src/homepage.
+The source code of website https://james.apache.org[james.apache.org] is 
located in {path}.
 Here are the instructions how to publish new changes to the website.
 
 1. Install Apache Maven 3.0.2+ and make its binary 'mvn' available on your 
PATH.
diff --git a/docs/modules/concepts/pages/configuration.adoc 
b/docs/modules/concepts/pages/configuration.adoc
index d910202c75..3ca6ff1587 100644
--- a/docs/modules/concepts/pages/configuration.adoc
+++ b/docs/modules/concepts/pages/configuration.adoc
@@ -16,7 +16,7 @@ server to behave. It is very similar to an interface, but yet 
it is not quite an
 An "interface" provides a means for an Operator to interact with a server as 
part of the
 normal course of ongoing operations. Interfacing with the system essentially 
means either
 reading the server's current state, or updating the server's current state. A 
typical example
-would be adding a new mailbox via the xref:concepts:???.adoc[Useradmin API]. 
Each time the Operator
+would be adding a new mailbox via the 
xref:concepts:operation/webadmin.adoc#_useradmin_api[Useradmin API]. Each time 
the Operator
 interacts with the system via an interface, although the *state* of the system 
may change, 
 the *behavior* of the system is not expected to change.
 
diff --git a/docs/modules/concepts/pages/messages/imf.adoc 
b/docs/modules/concepts/pages/messages/imf.adoc
index e355257d8c..baf4d5f561 100644
--- a/docs/modules/concepts/pages/messages/imf.adoc
+++ b/docs/modules/concepts/pages/messages/imf.adoc
@@ -12,7 +12,8 @@ communicating with a distant party.
 
 IMF is very basic, and is limited to only specifying a syntax for text 
messages.  
 For the transmission of images, audio, or other types of data we need to make
-use of the xref:mail/messages/mime.adoc[MIME] specification. 
+
+use of the xref:concepts:messages/mime.adoc[MIME] specification.
 Although IMF forms the base standard upon which
 email is based, email today is rarely used without MIME. We therefore consider
 for practical purposes that an email message is essentially the equivalent of
@@ -38,11 +39,11 @@ a (potentially empty) sequence of lines of text.
 
 Although this sounds like an extremely simple concept, to get two completely 
separate systems
 to agree and understand each other is a surprisingly complex problem that most 
people
-today take for granted. Most of RFC822 deals with the nitty-gritty of 
formatting and parsing
+today take for granted. Most of <<RFC822>> deals with the nitty-gritty of 
formatting and parsing
 this type of text message.
 
 This specification deals with the headers, additionally relating them to the 
sending and
-forwarding of messages. The body content is dealt with in <<RFC2045>>
+forwarding of messages. The body content is dealt with in 
xref:concepts:messages/mime.adoc#_rfc2045[RFC2045]
 
 
 
@@ -53,7 +54,7 @@ obsoletes <<RFC822>>, and was obsoleted by <<RFC5322>>.
 
 The standard builds on RFC822, but limits its scope to only the sytax of the 
 message, and obsoletes much of what was defined by RFC822. The envelope was
-split into a separate specification, <<RFC2821>>.
+split into a separate specification, 
xref:concepts:protocols/smtp.adoc#_rfc2821[RFC2821].
 
 
 
diff --git a/docs/modules/concepts/pages/messages/mime.adoc 
b/docs/modules/concepts/pages/messages/mime.adoc
index b6fc301a1a..9c97f21f46 100644
--- a/docs/modules/concepts/pages/messages/mime.adoc
+++ b/docs/modules/concepts/pages/messages/mime.adoc
@@ -26,6 +26,7 @@ to IMF in order to:
  * Add different character sets for internationalization
  * Allow for processing of media types other than plain text
 
+[#_rfc2045]
 === RFC2045
 
 https://tools.ietf.org/html/rfc2045[RFC2045] ("Multipurpose Internet Mail 
Extensions
diff --git a/docs/modules/concepts/pages/operation/webadmin.adoc 
b/docs/modules/concepts/pages/operation/webadmin.adoc
new file mode 100644
index 0000000000..6d84bbf6bc
--- /dev/null
+++ b/docs/modules/concepts/pages/operation/webadmin.adoc
@@ -0,0 +1,12 @@
+= Webadmin api
+:navtitle: Web administration API
+
+The web administration supports for now the CRUD operations on the domains, 
the users, their mailboxes and their quotas,
+managing mail repositories, performing database or storage migrations, and 
much more.
+
+This section provides an overview of the most common resources. You can refer 
to each xref:servers:index.adoc[servers] specific documentation for detailed 
actionable examples.
+
+[#_useradmin_api]
+== Useradmin API
+
+(TODO include a general description of the main web admin APIs, )
diff --git a/docs/modules/concepts/pages/protocols/esmtp.adoc 
b/docs/modules/concepts/pages/protocols/esmtp.adoc
index 0c772fedbc..893f92c36e 100644
--- a/docs/modules/concepts/pages/protocols/esmtp.adoc
+++ b/docs/modules/concepts/pages/protocols/esmtp.adoc
@@ -37,7 +37,7 @@ and was itself obsoleted by <<RFC1869>>.
 
 https://tools.ietf.org/html/rfc1869[RFC1869] ("SMTP Service Extensions") 
obsoletes <<RFC1651>>, and
 is essentially the final specification in which ESMTP was defined separately 
from SMTP. When this
-spec was obsoleted by xref:protocols/smtp.adoc#RFC2821[RFC2821], it was 
incorporated into the
+spec was obsoleted by xref:protocols/smtp.adoc#_rfc2821[RFC2821], it was 
incorporated into the
 SMTP specification.
  
 
diff --git a/docs/modules/concepts/pages/protocols/smtp.adoc 
b/docs/modules/concepts/pages/protocols/smtp.adoc
index f71e9901a8..311ae2ba39 100644
--- a/docs/modules/concepts/pages/protocols/smtp.adoc
+++ b/docs/modules/concepts/pages/protocols/smtp.adoc
@@ -17,12 +17,13 @@ https://tools.ietf.org/html/rfc821[RFC821] ("Simple Mail 
Transfer Protocol")
 was the original SMTP specification published in 1982. 
 It was obsoleted by <<RFC2821>> in 2001.
 
+[#_rfc2821]
 === RFC2821
 
 https://tools.ietf.org/html/rfc2821[RFC2821] ("Simple Mail Transfer Protocol") 
replaced
 <<RFC821>>. It was itself replaced by <<RFC5321>> in 2008.
 
-=== RFC 5321
+=== RFC5321
 
 https://tools.ietf.org/html/rfc5321[RFC5321] is the currently used standard for
 "Simple Mail Transfer Protocol", or "SMTP". Published in 2008, it is "a 
specification of the basic 
diff --git a/docs/modules/concepts/pages/user/index.adoc 
b/docs/modules/concepts/pages/user/index.adoc
index a88875ce66..dbe63a24c3 100644
--- a/docs/modules/concepts/pages/user/index.adoc
+++ b/docs/modules/concepts/pages/user/index.adoc
@@ -28,6 +28,7 @@ xref:protocols/imap.adoc[IMAP].
 The User will have no indication anywhere that the server is a James server.
 
 
+[#_operator]
 == Operator
 
 An **Operator** installs and runs James for the benefit of Users.
@@ -36,10 +37,11 @@ The Operator does not compile any Java code, and does not 
require any software
 development environment. 
 
 Apache James offers Operators a range of servers for various use cases, 
including:
+
  * A xref:servers:basic/index.adoc[Basic Server] ideal for busy Operators who
    are interested in an easy-to-use self-hosting solution, but who may not 
have the
    time to gain deep expertise
- * An xref:server/advanced/index.adoc[Advanced Server] well-suited for 
Operators with
+ * An xref:servers:extendable/index.adoc[Advanced Server] well-suited for 
Operators with
    advanced skills and resources who are not daunted by getting their hands 
dirty
    with configurations or using built-in extensions
 
@@ -49,7 +51,7 @@ Apache James offers Operators a range of servers for various 
use cases, includin
 
 An **Integrator** has some expertise with Java or a JVM-based language. Based 
 on this expertise the Integrator can perform more advanced server 
configurations and may
-develop xref:xxx.adoc[Extensions] to customize the behavior of a James server.
+develop xref:customization:index.adoc[Extensions] to customize the behavior of 
a James server.
 
 An Integrator does **not** need to download the source code or compile James.
 
diff --git a/docs/modules/customization/pages/imap.adoc 
b/docs/modules/customization/pages/imap.adoc
index e7d2f0673d..d1fca65070 100644
--- a/docs/modules/customization/pages/imap.adoc
+++ b/docs/modules/customization/pages/imap.adoc
@@ -5,7 +5,8 @@ James allows defining your own handler packages.
 
 An Imap package is a simple class that bundles IMAP processing components:
 
-....
+[source,java]
+----
 public interface ImapPackage {
     Collection<ClassName> processors();
 
@@ -13,7 +14,7 @@ public interface ImapPackage {
 
     Collection<ClassName> encoders();
 }
-....
+----
 
 Processors needs to be of class `AbstractProcessor`, decoders of class 
`AbstractImapCommandParser`
 and encoders of class `ImapResponseEncoder`. Extensions-jar mechanism can be 
used to load custom classes.
@@ -29,18 +30,20 @@ See this page for xref:imap.adoc#_extending_imap[more 
details on configuring IMA
 James allows defining your own additional connection checks to guarantee that 
the connecting IP is secured.
 
 A custom connection check should implement the following functional interface:
-```
+[source,java]
+----
 @FunctionalInterface
 public interface ConnectionCheck {
     Publisher<Void> validate(InetSocketAddress remoteAddress);
 }
-```
+----
 
 - `validate` method is used to check the connecting IP is secured.
 
 Then the custom defined ConnectionCheck can be added in `imapserver.xml` file:
-```
+[source,xml]
+----
 
<additionalConnectionChecks>org.apache.james.CrowdsecImapConnectionCheck</additionalConnectionChecks>
-```
+----
 
 An example for configuration is available 
link:https://github.com/apache/james-project/blob/master/third-party/crowdsec/sample-configuration/imapserver.xml[here].
diff --git a/docs/modules/customization/pages/index.adoc 
b/docs/modules/customization/pages/index.adoc
index fcc44f699b..ba0e77989e 100644
--- a/docs/modules/customization/pages/index.adoc
+++ b/docs/modules/customization/pages/index.adoc
@@ -26,6 +26,7 @@ Writing xref:imap.adoc[IMAP extensions].
 
 The 
link:https://github.com/apache/james-project/tree/master/examples[examples] are 
also a good reference.
 
+[#_handling_injections_for_your_extensions]
 == Handling injections for your extensions
 
 === Injecting core components
@@ -36,7 +37,8 @@ All you need is to pass them via a constructor annotated via 
*@Inject*.
 
 For instance:
 
-....
+[source,java]
+----
 public class MyMailet extends GenericMailet {
     private final UsersRepository usersRepository;
 
@@ -50,7 +52,7 @@ public class MyMailet extends GenericMailet {
         // Do something
     }
 }
-....
+----
 
 === Injecting simple extension components
 
@@ -58,8 +60,8 @@ Furthermore, concrete implementation, that are part of your 
extension, can be in
 
 Consider the following example:
 
-....
-
+[source,java]
+----
 public class MyService {
 
 }
@@ -77,7 +79,7 @@ public class MyMailet extends GenericMailet {
         // Do something
     }
 }
-....
+----
 
 === Defining custom injections for your extensions
 
@@ -85,21 +87,24 @@ However, to inject an interface into your extension, you 
will need additional in
 
 To so:
 
- * 1. Given an interface defined in an additional JAR:
+* 1. Given an interface defined in an additional JAR:
 
-....
+[source,java]
+----
 public interface MyService {}
-....
+----
 
- * 2. And an implementation of that interface, in another additional JAR:
+* 2. And an implementation of that interface, in another additional JAR:
 
-....
+[source,java]
+----
 public class MyServiceImpl extends MyService {}
-....
+----
 
- * 3. We need to define a binding for MyService to be bound to MyServiceImpl
+* 3. We need to define a binding for MyService to be bound to MyServiceImpl
 
-....
+[source,java]
+----
 public class MyServiceModule extends AbstractModule {
     @Override
     protected void configure() {
@@ -107,16 +112,17 @@ public class MyServiceModule extends AbstractModule {
         bind(MyService.class).to(MyServiceImpl.class);
     }
 }
-....
+----
 
 Both *MyService*, *MyServiceImpl* and *MyServiceModule* needs to be in the 
*extensions-jars*
 folder (potentially different jars).
 
- * 4. *MyServiceModule* needs to be registered in 
xref:distributed/configure/extensions.adoc[*extensions.properties*]
+* 4. *MyServiceModule* needs to be registered in 
xref:servers:distributed/configure/extensions.adoc[*extensions.properties*]
 
  * 5. *MyService* can then be used as part of your extensions
 
-....
+[source,java]
+----
 public class MyMailet extends GenericMailet {
     private final MyService myService;
 
@@ -130,28 +136,30 @@ public class MyMailet extends GenericMailet {
         // Do something
     }
 }
-....
+----
 
 Note that overriding injection definitions of the Distributed Server for your 
injections is not supported.
 
 === Starting your components
 
-Sometimes you wish to 'start' your extensions. This can be achieved through 
defining your own `UserDefinedStartable`:
+Sometimes you wish to 'start' your extensions.This can be achieved through 
defining your own `UserDefinedStartable`:
 
-```
+[source,java]
+----
 public class MyStartable implements UserDefinedStartable {
     @Override
     public void start() {
         // Will be called
     }
 }
-```
+----
 
 Your startable then needs to be registered within `extensions.properties`:
 
-```
+[source,properties]
+----
 guice.extension.startable=com.company.MyStartable
-```
+----
 
 == Pre-packaged extensions
 
diff --git a/docs/modules/customization/pages/mailbox-listeners.adoc 
b/docs/modules/customization/pages/mailbox-listeners.adoc
index d48f6243db..e23e73e207 100644
--- a/docs/modules/customization/pages/mailbox-listeners.adoc
+++ b/docs/modules/customization/pages/mailbox-listeners.adoc
@@ -9,24 +9,27 @@ To do so, extend the *GroupMailboxListener* defined in the 
*mailbox-api*.
 
 Here is the dependency:
 
-....
+[source,xml]
+----
 <dependency>
     <groupId>org.apache.james</groupId>
     <artifactId>apache-james-mailbox-api</artifactId>
 </dependency>
-....
+----
 
 Here are the methods you can implement:
 
-....
+[source,java]
+----
     void event(Event event) throws Exception;
-....
+----
 
 allows you to specify the business logic you want to execute upon new events 
generation.
 
-....
+[source,java]
+----
     boolean isHandling(Event event);
-....
+----
 
 Allows to know if this event is worth execution, and should be sent on the 
EventBus. This avoids execution of non
 handled events and can save some IOs.
diff --git a/docs/modules/servers/nav.adoc b/docs/modules/servers/nav.adoc
index eb00edeb56..ca2d047cb3 100644
--- a/docs/modules/servers/nav.adoc
+++ b/docs/modules/servers/nav.adoc
@@ -7,7 +7,7 @@
 *** xref:basic/objectives.adoc[]
 *** xref:basic/concepts.adoc[]
 *** xref:basic/architecture.adoc[]
-*** xref:basic/conf/index.adoc[]
+*** xref:basic/configure/index.adoc[]
 *** xref:basic/help.adoc[]
 ** xref:distributed/index.adoc[]
 *** xref:distributed/objectives.adoc[]
diff --git a/docs/modules/servers/pages/basic/conf/index.adoc 
b/docs/modules/servers/pages/basic/configure/index.adoc
similarity index 100%
rename from docs/modules/servers/pages/basic/conf/index.adoc
rename to docs/modules/servers/pages/basic/configure/index.adoc
diff --git a/docs/modules/servers/pages/basic/index.adoc 
b/docs/modules/servers/pages/basic/index.adoc
index 76659112f9..d12c0b1010 100644
--- a/docs/modules/servers/pages/basic/index.adoc
+++ b/docs/modules/servers/pages/basic/index.adoc
@@ -17,5 +17,5 @@ trouble, we explain how you can get help from the James 
Community.
  * xref:basic/objectives.adoc[Objectives and motivation of the Basic Server]
  * xref:basic/concepts.adoc[Useful background concepts]
  * xref:basic/architecture.adoc[Overview of architecture]
- * xref:basic/conf/index.adoc[Configuration]
+ * xref:basic/configure/index.adoc[Configuration]
  * xref:basic/help.adoc[Where to go for help]
diff --git a/docs/modules/servers/pages/basic/objectives.adoc 
b/docs/modules/servers/pages/basic/objectives.adoc
index e8f95e3cdb..7687f7358d 100644
--- a/docs/modules/servers/pages/basic/objectives.adoc
+++ b/docs/modules/servers/pages/basic/objectives.adoc
@@ -27,4 +27,4 @@ The default configuration of the Basic Server includes the 
following features:
 We have disabled all of the insecure communications and require SSL. If you 
have
 a specific requirement to use an insecure protocol, or if the above list does 
not
 satisfy your needs, then after having successfully set up this server you may 
want
-to move on to the xref:extendable.adoc[Extendable Server].
+to move on to the xref:servers:extendable/extending.adoc[Extendable Server].
diff --git 
a/docs/modules/servers/pages/distributed/architecture/consistency_model_data_replication_extend.adoc
 
b/docs/modules/servers/pages/distributed/architecture/consistency_model_data_replication_extend.adoc
index 08ac3316c5..a222c38cf2 100644
--- 
a/docs/modules/servers/pages/distributed/architecture/consistency_model_data_replication_extend.adoc
+++ 
b/docs/modules/servers/pages/distributed/architecture/consistency_model_data_replication_extend.adoc
@@ -1,4 +1,6 @@
 === Cassandra consistency model
+:server-name: Distributed James Server
+:xref-base: distributed
 
 link:https://cassandra.apache.org/[Cassandra] is an
 link:https://en.wikipedia.org/wiki/Eventual_consistency[eventually consistent] 
data store.
diff --git 
a/docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc
 
b/docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc
index 03a412f0e2..a0318f3643 100644
--- 
a/docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc
+++ 
b/docs/modules/servers/pages/distributed/architecture/specialized-instances.adoc
@@ -3,5 +3,6 @@
 
 :server-name: Distributed James Server
 :specialized-instances-file-name: specialized-instances-distributed.png
-
+:xref-base: distributed
+:backend-name: cassandra
 include::partial$architecture/specialized-instances.adoc[]
\ No newline at end of file
diff --git a/docs/modules/servers/pages/distributed/configure/dsn.adoc 
b/docs/modules/servers/pages/distributed/configure/dsn.adoc
index 8085aaa0da..6085a42a59 100644
--- a/docs/modules/servers/pages/distributed/configure/dsn.adoc
+++ b/docs/modules/servers/pages/distributed/configure/dsn.adoc
@@ -4,4 +4,5 @@
 :sample-configuration-prefix-url: 
https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration
 :pages-path: distributed
 :mailet-repository-path-prefix: cassandra
+:server-name: distributed
 include::partial$configure/dsn.adoc[]
\ No newline at end of file
diff --git a/docs/modules/servers/pages/distributed/configure/listeners.adoc 
b/docs/modules/servers/pages/distributed/configure/listeners.adoc
index d0cf02d848..58fcf81421 100644
--- a/docs/modules/servers/pages/distributed/configure/listeners.adoc
+++ b/docs/modules/servers/pages/distributed/configure/listeners.adoc
@@ -3,11 +3,12 @@
 
 :sample-configuration-prefix-url: 
https://github.com/apache/james-project/blob/master/server/apps/distributed-app/sample-configuration
 :server-name: Distributed James Server
+:pages-path: distributed
 include::partial$configure/listeners.adoc[]
 
 === MailboxOperationLoggingListener
 
-Provides more insights on mailbox operationsby logging them.
+Provides more insights on mailbox operations by logging them.
 
 This MailboxListener is supported.
 
diff --git a/docs/modules/servers/pages/distributed/configure/mat-sts.adoc 
b/docs/modules/servers/pages/distributed/configure/mta-sts.adoc
similarity index 100%
rename from docs/modules/servers/pages/distributed/configure/mat-sts.adoc
rename to docs/modules/servers/pages/distributed/configure/mta-sts.adoc
diff --git a/docs/modules/servers/pages/extendable/extending.adoc 
b/docs/modules/servers/pages/extendable/extending.adoc
new file mode 100644
index 0000000000..60665a5298
--- /dev/null
+++ b/docs/modules/servers/pages/extendable/extending.adoc
@@ -0,0 +1,4 @@
+= Extendable James Mail Server &mdash; Extending behaviour
+:navtitle: Extending behaviour
+
+This section can be read xref:customization:index.adoc[this page].
diff --git a/docs/modules/servers/pages/extendable/index.adoc 
b/docs/modules/servers/pages/extendable/index.adoc
new file mode 100644
index 0000000000..f2f52d8c95
--- /dev/null
+++ b/docs/modules/servers/pages/extendable/index.adoc
@@ -0,0 +1,4 @@
+= Extendable James Mail Server
+:navtitle: Extendable James Application
+
+(TODO)
\ No newline at end of file
diff --git a/docs/modules/servers/pages/index.adoc 
b/docs/modules/servers/pages/index.adoc
index 4c6faf5835..46235975ca 100644
--- a/docs/modules/servers/pages/index.adoc
+++ b/docs/modules/servers/pages/index.adoc
@@ -58,7 +58,7 @@ production issues.
 
 When your requirements start to get a little more serious, or you
 start to feel adventurous and want to begin your own email adventure,
-you can consider using the xref:extendable.adoc[*Extendable Server*].
+you can consider using the xref:extendable/index.adoc[*Extendable Server*].
 
 This server is intended for experts who understand the consequences of
 what they are doing. It provides extension mechanisms, configurations,
diff --git 
a/docs/modules/servers/pages/postgres/architecture/specialized-instances.adoc 
b/docs/modules/servers/pages/postgres/architecture/specialized-instances.adoc
index 7f8e349377..d5a2cc88d7 100644
--- 
a/docs/modules/servers/pages/postgres/architecture/specialized-instances.adoc
+++ 
b/docs/modules/servers/pages/postgres/architecture/specialized-instances.adoc
@@ -3,5 +3,6 @@
 
 :server-name: Postgresql James server
 :specialized-instances-file-name: specialized-instances-postgres.png
-
+:xref-base: postgres
+:backend-name: PostgreSQL
 include::partial$architecture/specialized-instances.adoc[]
\ No newline at end of file
diff --git 
a/docs/modules/servers/pages/postgres/benchmark/benchmark_prepare.adoc 
b/docs/modules/servers/pages/postgres/benchmark/benchmark_prepare.adoc
index 5257ef4840..59730f4a03 100644
--- a/docs/modules/servers/pages/postgres/benchmark/benchmark_prepare.adoc
+++ b/docs/modules/servers/pages/postgres/benchmark/benchmark_prepare.adoc
@@ -1,4 +1,5 @@
 === Postgresql prepare benchmark
+:server-name: Postgresql James server
 
 ==== Install extension pg_stat_statements
 
@@ -31,9 +32,10 @@ The response fields that we are interested in are:
 
 To view the statistics, run the following query:
 
-```sql
+[source,sql]
+----
 select query, mean_exec_time, total_exec_time, calls from pg_stat_statements 
order by total_exec_time desc;
-```
+----
 
 The result sample:
 
diff --git a/docs/modules/servers/pages/postgres/configure/dsn.adoc 
b/docs/modules/servers/pages/postgres/configure/dsn.adoc
index 46cdc91803..b08ba9d1b5 100644
--- a/docs/modules/servers/pages/postgres/configure/dsn.adoc
+++ b/docs/modules/servers/pages/postgres/configure/dsn.adoc
@@ -4,4 +4,5 @@
 :sample-configuration-prefix-url: 
https://github.com/apache/james-project/blob/postgresql/server/apps/postgres-app/sample-configuration
 :pages-path: distributed
 :mailet-repository-path-prefix: postgres
+:server-name: Postgresql James server
 include::partial$configure/dsn.adoc[]
\ No newline at end of file
diff --git a/docs/modules/servers/pages/postgres/configure/listeners.adoc 
b/docs/modules/servers/pages/postgres/configure/listeners.adoc
index 011dd6c396..1a8e4a5542 100644
--- a/docs/modules/servers/pages/postgres/configure/listeners.adoc
+++ b/docs/modules/servers/pages/postgres/configure/listeners.adoc
@@ -2,5 +2,6 @@
 :navtitle: listeners.xml
 
 :sample-configuration-prefix-url: 
https://github.com/apache/james-project/blob/postgresql/server/apps/postgres-app/sample-configuration
+:pages-path: postgres
 :server-name: Postgresql James server
 include::partial$configure/listeners.adoc[]
\ No newline at end of file
diff --git a/docs/modules/servers/pages/postgres/configure/mat-sts.adoc 
b/docs/modules/servers/pages/postgres/configure/mta-sts.adoc
similarity index 100%
rename from docs/modules/servers/pages/postgres/configure/mat-sts.adoc
rename to docs/modules/servers/pages/postgres/configure/mta-sts.adoc
diff --git a/docs/modules/servers/partials/configure/imap.adoc 
b/docs/modules/servers/partials/configure/imap.adoc
index 5aa9b54465..6654158762 100644
--- a/docs/modules/servers/partials/configure/imap.adoc
+++ b/docs/modules/servers/partials/configure/imap.adoc
@@ -188,7 +188,8 @@ This enables both:
 
 Example:
 
-....
+[source,xml]
+----
     <imapserver>
         <!-- ... -->
         <trafficShaping>
@@ -198,7 +199,7 @@ Example:
             <maxDelays>15000</maxDelays>
         </trafficShaping>
     </imapserver>
-....
+----
 
 Those tags maps to the corresponding Netty argument.
 
@@ -221,7 +222,8 @@ throttling on this specific entry.
 
 Sample configuration:
 
-....
+[source,xml]
+----
 <imapserver>
   <!-- ... -->
   <perSessionCommandThrottling>
@@ -240,7 +242,7 @@ Sample configuration:
     </append>
   </perSessionCommandThrottling>
 </imapserver>
-....
+----
 
 Note that commands are delayed prior the execution and thus are not subject to 
the IMAP upper concurrency limit until
 they are executed.
@@ -281,10 +283,11 @@ being configurable.
 
 Example:
 
-....
+[source,xml]
+----
 <imapserver>
   <partialBodyFetchCacheEnabled>true</partialBodyFetchCacheEnabled>
   <partialBodyFetchCacheDuration>2min</partialBodyFetchCacheDuration>
   <partialBodyFetchCacheSize>500 MiB</partialBodyFetchCacheSize>
 </imapserver>
-....
\ No newline at end of file
+----
\ No newline at end of file
diff --git a/docs/modules/servers/partials/configure/matchers.adoc 
b/docs/modules/servers/partials/configure/matchers.adoc
index eb8048154a..2faa837d92 100644
--- a/docs/modules/servers/partials/configure/matchers.adoc
+++ b/docs/modules/servers/partials/configure/matchers.adoc
@@ -127,8 +127,6 @@ include::partial$CompareNumericHeaderValue.adoc[]
 
 include::partial$FileRegexMatcher.adoc[]
 
-include::partial$HasHabeasWarrantMark.adoc[]
-
 include::partial$InSpammerBlacklist.adoc[]
 
 include::partial$NESSpamCheck.adoc[]
diff --git a/docs/modules/servers/partials/configure/smtp-hooks.adoc 
b/docs/modules/servers/partials/configure/smtp-hooks.adoc
index 42614a1eb0..1cee3568b4 100644
--- a/docs/modules/servers/partials/configure/smtp-hooks.adoc
+++ b/docs/modules/servers/partials/configure/smtp-hooks.adoc
@@ -423,8 +423,6 @@ Example handlerchain configuration for `smtpserver.xml`:
 Would allow emails using `apache.org` as a MAIL FROM or from header domain if, 
and only if they contain a
 valid DKIM signature for the `apache.org` domain.
 
-include::partial$EnforceHeaderLimitationsMessageHook.adoc[]
-
 == SetMailAttributeMessageHook
 
 This class implements an SMTP hook to add attributes on incoming mails.
@@ -441,25 +439,7 @@ Example XML configuration:
 </handler>
 ....
 
-== EnforceHeaderLimitationsMessageHook
-
-This class implements an SMTP hook to enforce limitations on the headers of 
incoming emails.
-
-It allows configuring and enforcing two types of restrictions:
- - A maximum number of header lines (default: 500).
- - A maximum total size of headers in bytes (default: 64 KB).
-If any of these thresholds are exceeded, the message is rejected with an SMTP 
error code:
- -  `552 Too many header lines` if the number of lines exceeds the limit.
- -  `552 Header size too large` if the total size exceeds the limit.
-
-Example XML configuration:
-
-....
-<handler 
class="org.apache.james.smtpserver.EnforceHeaderLimitationsMessageHook">
-    <maxLines>500</maxLines>
-    <maxSize>64KB</maxSize>
-</handler>
-....
+include::partial$configure/smtp-limitation-hook.adoc[]
 
 == ConfigurationAuthHook
 
diff --git a/docs/modules/servers/partials/configure/smtp-limitation-hoot.adoc 
b/docs/modules/servers/partials/configure/smtp-limitation-hook.adoc
similarity index 99%
rename from docs/modules/servers/partials/configure/smtp-limitation-hoot.adoc
rename to docs/modules/servers/partials/configure/smtp-limitation-hook.adoc
index 6dbd1e9768..b96684a98c 100644
--- a/docs/modules/servers/partials/configure/smtp-limitation-hoot.adoc
+++ b/docs/modules/servers/partials/configure/smtp-limitation-hook.adoc
@@ -27,4 +27,3 @@ Here is an example of a SetUp using this hook:
     <gracefulShutdown>false</gracefulShutdown>
 </smtpserver>
 ....
-----
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to