Skip to content

Commit 7fa4897

Browse files
committed
Add documentation in project repository
Signed-off-by: Pierre Belloy <[email protected]> More doc Signed-off-by: Pierre Belloy <[email protected]>
1 parent 7219781 commit 7fa4897

File tree

109 files changed

+10706
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+10706
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,5 @@ application.gzip.*
5151
application.login.min.*
5252
application.login.gzip.*
5353

54+
.cache
55+
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
runtime:
2+
cache_dir: ./.cache/antora
3+
site:
4+
title: Axelor Documentation
5+
start_page: adk::index
6+
content:
7+
edit_url: false
8+
sources:
9+
- url: ../
10+
start_path: documentation
11+
branches: HEAD
12+
asciidoc:
13+
attributes:
14+
experimental: ''
15+
idprefix: ''
16+
idseparator: '-'
17+
linkattrs: ''
18+
tabsize: 4
19+
source-indent: 0
20+
ui:
21+
bundle:
22+
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/master/raw/build/ui-bundle.zip?job=bundle-stable
23+
snapshot: true
24+
output:
25+
dir: build/preview

documentation/antora.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
name: adk
2+
title: Axelor Open Platform
3+
version: "6.0"
4+
start_page: ROOT:index.adoc
5+
nav:
6+
- modules/ROOT/nav.adoc
7+
- modules/getting-started/nav.adoc
8+
- modules/tutorial/nav.adoc
9+
- modules/dev-guide/nav.adoc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
:attachmentsdir: {moduledir}/assets/attachments
2+
:examplesdir: {moduledir}/examples
3+
:imagesdir: {moduledir}/assets/images
4+
:partialsdir: {moduledir}/pages/_partials

documentation/modules/ROOT/nav.adoc

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
* xref:index.adoc[Welcome]
2+
* xref:news.adoc[What's New?]
3+
* xref:migration.adoc[Migration Guide]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
:moduledir: ..
2+
include::{moduledir}/_attributes.adoc[]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
= {page-component-title} {page-component-version} Documentation
2+
:toc:
3+
:toc-title:
4+
5+
Welcome to the {page-component-title} Documentation. Here you will find information
6+
and resources to help you learn about {page-component-title}.
7+
8+
xref:news.adoc[What's New]::
9+
Describes what is new in {page-component-title} {page-component-version}.
10+
xref:migration.adoc[Migration Guide]::
11+
Describes the steps required to migrate from {page-component-title} 5.x to {page-component-version}.
12+
xref:getting-started:index.adoc[Getting Started]::
13+
These topics describe how to get started with {page-component-title} as a developer.
14+
xref:tutorial:index.adoc[Quick Tutorial]::
15+
This tutorial will quickly introduce you to the {page-component-title} and guide you
16+
to create your first application.
17+
xref:dev-guide:index.adoc[Developer Guide]::
18+
These topics describe how to use Axelor Open Platform as a developer.
19+
link:javadoc[API Documentation]::
20+
The {page-component-title} {page-component-version} javadoc api documentation.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
= Migration Guide
2+
:toc:
3+
:toc-title:
4+
5+
:url-jdk-upgrade: https://docs.oracle.com/en/java/javase/11/migrate/index.html
6+
:url-tomcat-9: https://tomcat.apache.org/tomcat-9.0-doc/index.html
7+
:url-pg-upgrade: https://www.postgresql.org/docs/12/upgrading.html
8+
:url-gradle-docs: https://docs.gradle.org/7.3/userguide/userguide.html
9+
:url-groovy-upgrade: https://groovy-lang.org/releasenotes/groovy-3.0.html
10+
:url-graalvm-js: https://www.graalvm.org/reference-manual/js/NashornMigrationGuide/
11+
:url-junit-upgrade: https://www.baeldung.com/junit-5-migration
12+
:url-pac4j-clients: http://www.pac4j.org/4.5.x/docs/clients.html
13+
14+
In this document, we will see the major steps required to migrate from 5.x to 6.0.
15+
16+
== Java 8 to Java 11
17+
18+
JAVA 11 is now our minimal version to build and run applications.
19+
20+
Install JAVA 11 and then increase the Java version number in the `build.gradle` file:
21+
22+
.build.gradle
23+
[source,gradle]
24+
----
25+
allprojects {
26+
27+
java {
28+
toolchain {
29+
languageVersion = JavaLanguageVersion.of(11)
30+
}
31+
}
32+
33+
}
34+
----
35+
36+
Also make sure to use JDK 11 in the IDE as well as in your terminal (if needed).
37+
38+
In JAVA 8, JAXB was part of standard JDK. It has been removed in JDK 11. To use JAXB API in Java 11, you need to use
39+
separate library : `javax.xml.bind:jaxb-api`, `com.sun.xml.bind:jaxb-core`, `com.sun.xml.bind:jaxb-impl` and `javax.activation:activation`
40+
41+
See the {url-jdk-upgrade}[JDK 11 migration guide] for details.
42+
43+
== Tomcat 8.5 to Tomcat 9
44+
45+
Apache Tomcat version 8.5 is no more supported. You need to upgrade to {url-tomcat-9}[Apache Tomcat 9].
46+
47+
== PostgreSQL 9 to PostgreSQL 12+
48+
49+
Minimal PostgreSQL 12 is now required to run applications.
50+
51+
Please check the {url-pg-upgrade}[PostgreSQL 12 upgrade guide] for details.
52+
53+
== Gradle 5 to Gradle 7
54+
55+
----
56+
./gradlew wrapper --gradle-version 7.2
57+
----
58+
59+
=== Dependencies
60+
61+
Many transitive dependencies are removed. If you use them, you need to add them in each affected module.
62+
63+
The `compile` configuration is deprecated. Use the `api` configuration to declare dependencies which are exported, and the `implementation` configuration to declare dependencies which are internal to your module.
64+
65+
Example:
66+
67+
.build.gradle
68+
[source,gradle]
69+
----
70+
dependencies {
71+
api project(":modules:axelor-base")
72+
implementation libs.commons_lang3
73+
}
74+
----
75+
76+
=== Axelor plugin
77+
78+
The Axelor Gradle plugins `com.axelor.app` and `com.axelor.app-module` are merged.
79+
80+
There is now a single `com.axelor.app` plugin, ie. all Axelor modules are Axelor apps. All modules should use the app plugin only.
81+
82+
See the Gradle upgrade guides for details:
83+
84+
* https://docs.gradle.org/7.3/userguide/upgrading_version_5.html
85+
* https://docs.gradle.org/7.3/userguide/upgrading_version_6.html
86+
* https://docs.gradle.org/7.3/userguide/upgrading_version_7.html
87+
88+
== Groovy 2 to Groovy 3
89+
90+
{url-groovy-upgrade}[Groovy 3] improves compatibility with Java and has many other improvements.
91+
92+
== Nashorn to GraalVM JavaScript
93+
94+
Nashorn is replaced by the {url-graalvm-js}[Graal JavaScript Engine].
95+
96+
The Nashorn script engine is deprecated in Java 11 and has some incompatible changes compared to Java 8.
97+
The new implementation uses the GraalVM JavaScript Engine, which supports the latest ECMAScript features.
98+
99+
The collection helpers `listOf`, `setOf`, and `mapOf` are removed as corresponding native JavaScript objects
100+
are passed with appropriate Java equivalent wrapper to the Java calls.
101+
102+
== OpenCSV to Commons CSV
103+
104+
Dependency to OpenCSV has been removed. For ease of migration, you may manually add the dependency in your own module if you wish to continue using it. The desirable end goal is to fully migrate to Commons CSV.
105+
106+
== Reserved keywords
107+
108+
With upgraded database support, more keywords ar now reserved. So you need to rename database
109+
column of any affected fields.
110+
111+
Some notable new reserved keywords:
112+
113+
* `condition`
114+
* `file`
115+
* `key`
116+
* `message`
117+
* `rank`
118+
* `signal`
119+
* `size`
120+
* `uid`
121+
122+
== Dropped removable modules
123+
124+
The feature is not used by any axelor apps and had many technical issues.
125+
126+
Run the following SQL script to drop unnecessary columns:
127+
128+
[source,sql]
129+
----
130+
ALTER TABLE meta_module DROP COLUMN installed;
131+
ALTER TABLE meta_module DROP COLUMN removable;
132+
ALTER TABLE meta_module DROP COLUMN pending;
133+
----
134+
135+
== Dropped deprecated features
136+
137+
Features that were marked as deprecated in AOP v5 are now dropped.
138+
139+
Notable Changes:
140+
141+
* `Context.getParentContext()` → `Context.getParent()`
142+
* `new ActionHandler(ActionRequest)` → `ActionExecutor.newActionHandler(ActionRequest)`
143+
* `LoginRedirectException` → `WebUtils.issueRedirect()`
144+
* `hashKey`/`hashAll` (`hashCode`) → `equalsInclude`/`equalsIncludeAll` (`equals`)
145+
* `cachable` → `cacheable`
146+
* `axelor.report.dir` → `reports.design.dir`
147+
148+
== Authentication configuration
149+
150+
Reflection is now used to configure authentication clients. The new syntax is `auth.provider.<providerName>.<configurationName>`. You may use any of the built-in providers (`google`, `facebook`, `azure`, `keycloak`, `apple`, `oauth`, `oidc`, `saml`, `cas`) or configure any other clients supported by {url-pac4j-clients}[pac4j] using your own custom provider name. You may even create and use your own custom authentication clients.
151+
152+
Example using a built-in provider:
153+
154+
.axelor-config.properties
155+
[source,properties]
156+
----
157+
auth.provider.google.key = 127736102816-tc5mmsfaasa399jhqkfbv48nftoc55ft.apps.googleusercontent.com
158+
auth.provider.google.secret = qySuozNl72zzM5SKW-0kczwV
159+
----
160+
161+
Built-in providers come with preconfigured settings. The above is equivalent to:
162+
163+
.axelor-config.properties
164+
[source,properties]
165+
----
166+
auth.provider.myprovider.client = org.pac4j.oauth.client.Google2Client
167+
auth.provider.myprovider.configuration = org.pac4j.oauth.config.OAuth20Configuration
168+
auth.provider.myprovider.title = Google
169+
auth.provider.myprovider.icon = img/signin/google.svg
170+
auth.provider.myprovider.exclusive = false
171+
auth.provider.myprovider.absoluteUrlRequired = false
172+
173+
auth.provider.myprovider.key = 127736102816-tc5mmsfaasa399jhqkfbv48nftoc55ft.apps.googleusercontent.com
174+
auth.provider.myprovider.secret = qySuozNl72zzM5SKW-0kczwV
175+
----
+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
= Release Notes
2+
:toc:
3+
:toc-title:
4+
5+
:product-changelog: https://github.com/axelor/axelor-open-platform/blob/{page-component-version}/CHANGELOG.md
6+
7+
This release has many breaking changes as we migrated to JDK-11.
8+
9+
== Breaking Changes
10+
11+
* Migrate to JDK-11
12+
* Migrate to GraalVM JavaScript engine (drop nashorn engine)
13+
* Migrate to JUnit 5 for unit testing
14+
* Migrate axelor-test to use JUnit5
15+
* Remove the experimental hotswap-agent support (as it was very buggy)
16+
* Drop removable modules support (this feature was hardly used)
17+
* The application configuration is now optional
18+
* The application configuration file is now named `META-INF/axelor-config.properties`
19+
* The application configuration can be defined via file, system props and environment vars
20+
21+
== New Features
22+
23+
* Add WebSocket support
24+
* Add support to see concurrent users in real-time on form views
25+
26+
== Enhancements
27+
28+
* Re-implement action-ws using http client api
29+
* Re-implement entity code generator
30+
* Re-implement authentication support
31+
32+
== Fixes & Other Changes
33+
34+
Please check the {product-changelog}[change log] for detailed list of changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
:attachmentsdir: {moduledir}/assets/attachments
2+
:examplesdir: {moduledir}/examples
3+
:imagesdir: {moduledir}/assets/images
4+
:partialsdir: {moduledir}/pages/_partials
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)