JAMES-4025 Drop Jmap draft - update document
diff --git a/examples/oidc/james/jmap.properties b/examples/oidc/james/jmap.properties
index f3d8a16..4755a08 100644
--- a/examples/oidc/james/jmap.properties
+++ b/examples/oidc/james/jmap.properties
@@ -23,10 +23,6 @@
# This enables a higher resilience, but the projection needs to be correctly populated. False by default.
# view.email.query.enabled=true
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
# If you want to specify authentication strategies for Jmap rfc-8621 version
# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
authentication.strategy.rfc8621=BasicAuthenticationStrategy,XUserAuthenticationStrategy
\ No newline at end of file
diff --git a/server/apps/cassandra-app/sample-configuration/jmap.properties b/server/apps/cassandra-app/sample-configuration/jmap.properties
index f794c05..80a254d 100644
--- a/server/apps/cassandra-app/sample-configuration/jmap.properties
+++ b/server/apps/cassandra-app/sample-configuration/jmap.properties
@@ -23,10 +23,6 @@
# This enables a higher resilience, but the projection needs to be correctly populated. False by default.
# view.email.query.enabled=true
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
# If you want to specify authentication strategies for Jmap rfc-8621 version
# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
# authentication.strategy.rfc8621=JWTAuthenticationStrategy,BasicAuthenticationStrategy
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
index c26d12e..2ed4772 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/architecture/index.adoc
@@ -38,10 +38,6 @@
* *JMAP* (RFC-8620 &RFC-8621 specifications and known limitations of the James implementation are defined link:https://github.com/apache/james-project/tree/master/server/protocols/jmap-rfc-8621/doc[here])
* *ManagedSieve*
-The following protocols should be considered deprecated:
-
-* *JMAP-draft* (draft specification as defined link:https://github.com/apache/james-project/tree/master/server/protocols/jmap-draft/doc[here])
-
Read more on xref:architecture/implemented-standards.adoc[implemented standards].
== Topology
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc
index 839c429..21f1bb2 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/benchmark/james-benchmark.adoc
@@ -88,7 +88,6 @@
Some symbolic simulations we often use:
* IMAP: `org.apache.james.gatling.simulation.imap.PlatformValidationSimulation`
-* JMAP draft: `org.apache.james.gatling.simulation.jmap.draft.PlatformValidationSimulation`
* JMAP rfc8621: `org.apache.james.gatling.simulation.jmap.rfc8621.PushPlatformValidationSimulation`
=== Base performance result
diff --git a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
index a1775ae..9d7611b 100644
--- a/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
+++ b/server/apps/distributed-app/docs/modules/ROOT/pages/configure/jmap.adoc
@@ -37,7 +37,7 @@
| Optional. URL for JMAP WebSocket route. Default value: ws://localhost
| email.send.max.size
-| Optional. Configuration max size for message created in both JMAP Draft amd RFC-8621.
+| Optional. Configuration max size for message created in RFC-8621.
Default value: None. Supported units are B (bytes) K (KB) M (MB) G (GB).
| max.size.attachments.per.mail
@@ -62,13 +62,6 @@
| user.provisioning.enabled
| Optional boolean. Defaults to true. Governs whether authenticated users that do not exist locally should be created in the users repository.
-
-| authentication.strategy.draft
-| Optional List[String] with delimiter `,` . Specify which authentication strategies system admin want to use for JMAP draft server.
-The implicit package name is `org.apache.james.jmap.http`. If you have a custom authentication strategy outside this package, you have to specify its FQDN.
-If no authentication strategy is specified, JMAP draft server will fallback to default strategies:
-`AccessTokenAuthenticationStrategy`, `JWTAuthenticationStrategy`, `QueryParameterAccessTokenAuthenticationStrategy`
-
| authentication.strategy.rfc8621
| Optional List[String] with delimiter `,` . Specify which authentication strategies system admin want to use for JMAP RFC-8621 server.
The implicit package name is `org.apache.james.jmap.http`. If you have a custom authentication strategy outside this package, you have to specify its FQDN.
@@ -76,10 +69,8 @@
`JWTAuthenticationStrategy`, `BasicAuthenticationStrategy`.
| jmap.version.default
-| Optional string. Defaults to draft. Allowed values: draft, rfc-8621.
+| Optional string. Defaults to `rfc-8621`. Allowed values: rfc-8621
Which version of the JMAP protocol should be served when none supplied in the Accept header.
-Defaults to draft for legacy reasons (avoid breaking changes) but setting the value to
-rfc-8621 allow compatibility with other third party apps.
| dynamic.jmap.prefix.resolution.enabled
| Optional boolean. Defaults to false. Supported Jmap session endpoint returns dynamic prefix in response.
@@ -169,8 +160,6 @@
The list of tested JMAP clients are:
- - [OpenPaaS](https://open-paas.org/) is actively using the draft version of the JMAP implementation. Migration to
- RFC-8621 is planned.
- Experiments had been run on top of [LTT.RS](https://github.com/iNPUTmice/lttrs-android). Version in the Accept
headers needs to be explicitly set to `rfc-8621`. [Read more](https://github.com/linagora/james-project/pull/4089).
diff --git a/server/apps/distributed-app/sample-configuration/jmap.properties b/server/apps/distributed-app/sample-configuration/jmap.properties
index d703857..73fb3f9 100644
--- a/server/apps/distributed-app/sample-configuration/jmap.properties
+++ b/server/apps/distributed-app/sample-configuration/jmap.properties
@@ -26,10 +26,6 @@
# This enables a higher resilience, but the projection needs to be correctly populated. False by default.
# view.email.query.enabled=true
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
# If you want to specify authentication strategies for Jmap rfc-8621 version
# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
# authentication.strategy.rfc8621=JWTAuthenticationStrategy,BasicAuthenticationStrategy
diff --git a/server/apps/memory-app/sample-configuration/jmap.properties b/server/apps/memory-app/sample-configuration/jmap.properties
index f8b0611..72e279e 100644
--- a/server/apps/memory-app/sample-configuration/jmap.properties
+++ b/server/apps/memory-app/sample-configuration/jmap.properties
@@ -24,10 +24,6 @@
# This enables a higher resilience, but the projection needs to be correctly populated. False by default.
# view.email.query.enabled=true
-# If you want to specify authentication strategies for Jmap draft version
-# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
-# authentication.strategy.draft=AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,QueryParameterAccessTokenAuthenticationStrategy
-
# If you want to specify authentication strategies for Jmap rfc-8621 version
# For custom Authentication Strategy not inside package "org.apache.james.jmap.http", you have to specify its FQDN
# authentication.strategy.rfc8621=JWTAuthenticationStrategy,BasicAuthenticationStrategy
diff --git a/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java b/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java
index d5a7c0d..b256e9d 100644
--- a/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java
+++ b/server/protocols/jmap-rfc-8621/src/main/java/org/apache/james/jmap/model/MessageProperties.java
@@ -80,7 +80,7 @@
.map(MessageProperty::getReadProfile),
headerPropertiesReadLevel());
- // If `null`, all properties will be fetched (JMAP Draft)
+ // If `null`, all properties will be fetched
// This defer from RFC-8621 behavior (not implemented here)
// If omitted, this defaults to: [ "partId", "blobId", "size", "name", "type", "charset", "disposition", "cid",
// "language", "location" ]
diff --git a/src/site/xdoc/server/config-jmap.xml b/src/site/xdoc/server/config-jmap.xml
index 7043f02..e8b70e6 100644
--- a/src/site/xdoc/server/config-jmap.xml
+++ b/src/site/xdoc/server/config-jmap.xml
@@ -75,7 +75,7 @@
<dd>Default value: 200M. Supported units are B (bytes) K (KB) M (MB) G (GB).</dd>
<dt><strong>email.send.max.size</strong></dt>
- <dd>Optional. Configuration max size for message created in both JMAP Draft amd RFC-8621.</dd>
+ <dd>Optional. Configuration max size for message created in RFC-8621.</dd>
<dd>Default value: None. Supported units are B (bytes) K (KB) M (MB) G (GB).</dd>
<dt><strong>max.size.attachments.per.mail</strong></dt>
@@ -96,14 +96,6 @@
<dd>Governs whether authenticated users that do not exist locally should be created in the users repository.
</dd>
- <dt><strong>authentication.strategy.draft</strong></dt>
- <dd>List[String] with delimiter ",". Defaults to AccessTokenAuthenticationStrategy,JWTAuthenticationStrategy,
- QueryParameterAccessTokenAuthenticationStrategy.</dd>
- <dd>Specify which authentication strategies system admin want to use for JMAP draft server.
- The implicit package name is "org.apache.james.jmap.http". If you have a custom authentication strategy outside this package, you have to specify its FQDN.
- If no authentication strategy is specified, JMAP draft server will fallback to default strategies:
- AccessTokenAuthenticationStrategy, JWTAuthenticationStrategy, QueryParameterAccessTokenAuthenticationStrategy.</dd>
-
<dt><strong>authentication.strategy.rfc8621</strong></dt>
<dd>List[String] with delimiter ",". Defaults to JWTAuthenticationStrategy,BasicAuthenticationStrategy.</dd>
<dd>Specify which authentication strategies system admin want to use for JMAP RFC-8621 server.
@@ -112,10 +104,8 @@
JWTAuthenticationStrategy, BasicAuthenticationStrategy.</dd>
<dt><strong>jmap.version.default</strong></dt>
- <dd>Optional string. Defaults to draft. Allowed values: draft, rfc-8621.</dd>
- <dd>Which version of the JMAP protocol should be served when none supplied in the Accept header.
- Defaults to draft for legacy reasons (avoid breaking changes) but setting the value to
- rfc-8621 allow compatibility with other third party apps.</dd>
+ <dd>Optional string. Defaults to rfc-8621. Allowed values: rfc-8621</dd>
+ <dd>Which version of the JMAP protocol should be served when none supplied in the Accept header.</dd>
<dt><strong>dynamic.jmap.prefix.resolution.enabled</strong></dt>
<dd>Optional boolean. Defaults to false. Supported Jmap session endpoint returns dynamic prefix in response.
@@ -169,22 +159,14 @@
<a href="https://www.krakend.io/">Krackend</a> API gateway, but usage of similar technologies is definitely doable.</p>
</subsection>
- <subsection name="JMAP-draft vs JMAP-RFC-8621">
- <p>James had been supporting an implementation based on an early specification of JMAP, what we call here
- <em>JMAP-draft</em> version. But the protocol went under a lot of changes until its finalization as an
- official RFC.</p>
-
+ <subsection name="JMAP-RFC-8621">
<p>The finalized version of JMAP regarding the core specifications [<a href="https://tools.ietf.org/html/rfc8620">RFC-8620</a>]
and the mail specifications [<a href="https://tools.ietf.org/html/rfc8621">RFC-8621</a>] are being
- currently implemented in James (<em>JMAP-RFC-8621</em> version). It's supposed to replace at term the
- <em>JMAP-draft</em> version.</p>
+ currently implemented in James (<em>JMAP-RFC-8621</em> version).</p>
- <p>Meanwhile, both versions will be available. The version by default will be <em>JMAP-draft</em> during
- the time it takes to implement the new version. If you want to use a specific version for a request,
- you will need to add an extra <em>jmapVersion</em> field in your <b>Accept</b> header of your JMAP request:</p>
+ <p>You need to add an extra <em>jmapVersion</em> field in your <b>Accept</b> header of your JMAP request:</p>
<ul>
- <li><b>JMAP-draft</b>: <em>Accept: application/json; jmapVersion=draft</em></li>
<li><b>JMAP-RFC-8621</b>: <em>Accept: application/json; jmapVersion=rfc-8621</em></li>
</ul>
</subsection>
@@ -202,8 +184,6 @@
<p>Contributions enhancing support are furthermore welcomed.</p>
<ul>The list of tested JMAP clients are:
- <li><a href="https://open-paas.org/">OpenPaaS</a> is actively using the draft version of the JMAP implementation. Migration to
- RFC-8621 is planned.</li>
<li>Experiments had been run on top of <a href="https://github.com/iNPUTmice/lttrs-android">LTT.RS</a>. Version in the Accept
headers needs to be explicitly set to `rfc-8621`. <a href="https://github.com/linagora/james-project/pull/4089">Read more</a>.</li>
</ul>