Documentation - Update documentation to SDK 4.1

- Update SDK and ACS versions
- New article how to setup ATS in alfresco community
- New troubleshooting section about configuring ATS
This commit is contained in:
Jose Luis Osorno
2019-10-18 10:16:18 +02:00
parent 3e4a793f5d
commit 12db1fcb17
35 changed files with 322 additions and 122 deletions

View File

@@ -10,6 +10,7 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
## News ## News
- 2019-10: Alfresco SDK 4.1.0 released
- 2019-03: Alfresco SDK 4.0.0 released - 2019-03: Alfresco SDK 4.0.0 released
- 2019-03: Alfresco SDK 3.1.0 released - 2019-03: Alfresco SDK 3.1.0 released
- 2017-06-23: Alfresco SDK 3.0.1 released, [containing a critical bugfix](https://github.com/Alfresco/alfresco-sdk/issues/461) - 2017-06-23: Alfresco SDK 3.0.1 released, [containing a critical bugfix](https://github.com/Alfresco/alfresco-sdk/issues/461)
@@ -25,12 +26,13 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
## User Getting Started ## User Getting Started
### Latest Documentation ### Latest Documentation
To get started with **Alfresco SDK 4.0.x** (latest) visit the [Alfresco Documentation](docs/README.md). To get started with **Alfresco SDK 4.1.x** (latest) visit the [Alfresco Documentation](docs/README.md).
#### Documentation about Previous Versions #### Documentation about Previous Versions
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation | | SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
| ------------- |:-------------:| :-----:|:-----| | ------------- |:-------------:| :-----:|:-----|
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html | | SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html | | SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html | | SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
@@ -38,8 +40,6 @@ To get started with **Alfresco SDK 4.0.x** (latest) visit the [Alfresco Document
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html | | SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html | | SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
## Reporting Issues and Community Support ## Reporting Issues and Community Support
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/). Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).

View File

@@ -1,35 +1,35 @@
--- ---
Title: Alfresco SDK 4.0 Title: Alfresco SDK 4.1
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-17 Last reviewed: 2019-10-18
--- ---
# Alfresco SDK 4.0 # Alfresco SDK 4.1
Alfresco SDK 4.0 is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco. With this Alfresco SDK 4.1 is a Maven based development kit that provides an easy to use approach to developing applications and extensions for Alfresco. With this
SDK you can develop, package, test, run, document and release your Alfresco extension project. SDK you can develop, package, test, run, document and release your Alfresco extension project.
For earlier releases of the Alfresco SDK, see the Previous versions section of [http://docs.alfresco.com](http://docs.alfresco.com). For earlier releases of the Alfresco SDK, see the Previous versions of [http://docs.alfresco.com](http://docs.alfresco.com).
The Alfresco Software Development Kit (Alfresco SDK) is a fundamental tool provided by Alfresco to developers to build customizations and extensions for The Alfresco Software Development Kit (Alfresco SDK) is a fundamental tool provided by Alfresco to developers to build customizations and extensions for
the Alfresco Digital Business Platform. It is based on [Apache Maven](http://maven.apache.org/) and [Docker](https://www.docker.com/) and is compatible with the Alfresco Digital Business Platform. It is based on [Apache Maven](http://maven.apache.org/) and [Docker](https://www.docker.com/) and is compatible with
major IDEs. This enables Rapid Application Development (RAD) and Test Driven Development (TDD). major IDEs. This enables Rapid Application Development (RAD) and Test Driven Development (TDD).
Alfresco SDK 4.0 is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) and supports Alfresco Content Services both Alfresco SDK 4.1 is released under [Apache License version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) and supports Alfresco Content Services both
in Community Edition and Enterprise Edition. If you're an Enterprise customer, please check the [Alfresco SDK Support status](https://www.alfresco.com/alfresco-product-support-status) in Community Edition and Enterprise Edition. If you're an Enterprise customer, please check the [Alfresco SDK Support status](https://www.alfresco.com/alfresco-product-support-status)
for the version you're using. If your version is in Limited or Full Support and you need help, contact our Support team [http://support.alfresco.com](http://support.alfresco.com/). for the version you're using. If your version is in Limited or Full Support and you need help, contact our Support team [http://support.alfresco.com](http://support.alfresco.com/).
Alfresco SDK 4.0 is a major update to the SDK and provides several improvements on the previous releases. Alfresco SDK 4.1 is a minor update to the SDK and provides support for Alfresco 6.2.x.
The 4.0 release takes advantage of Semantic Versioning ([SEMVER](http://semver.org/)), which means that this new release is not directly compatible with the The 4.0 release takes advantage of Semantic Versioning ([SEMVER](http://semver.org/)), which means that this new release is not directly compatible with the
previous releases of the SDK. previous releases of the SDK.
If you have existing projects that you wish to upgrade to SDK 4.0.x, the recommended approach is to generate a new project from our archetypes and move your If you have existing projects that you wish to upgrade to SDK 4.1.x, the recommended approach is to generate a new project from our archetypes and move your
code into place. code into place.
## Documentation Content ## Documentation Content
* [What's new?](whats-new.md) * [What's new?](whats-new.md)
* [Getting started with Alfresco SDK 4.0](getting-started.md) * [Getting started with Alfresco SDK 4.1](getting-started.md)
* [Alfresco SDK Maven archetypes](mvn-archetypes.md) * [Alfresco SDK Maven archetypes](mvn-archetypes.md)
* [Working with generated projects](working-with-generated-projects/README.md) * [Working with generated projects](working-with-generated-projects/README.md)
* [All-In-One project structure](working-with-generated-projects/structure-aio.md) * [All-In-One project structure](working-with-generated-projects/structure-aio.md)

View File

@@ -1,9 +1,9 @@
--- ---
Title: Advanced topics Title: Advanced topics
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-17 Last reviewed: 2019-10-18
--- ---
# Advanced topics # Advanced topics
This information provides more advanced topics that you might come in contact with when you have been working with an SDK project for a while. We will have a This information provides more advanced topics that you might come in contact with when you have been working with an SDK project for a while. We will have a
look at how you can work with AMPs, remote debugging, hot reloading, and more. look at how you can work with AMPs, remote debugging, hot reloading, enable transformations and more.

View File

@@ -0,0 +1,96 @@
---
Title: How to set up Alfresco Transform Service (Community)
Added: v4.0.0
Last reviewed: 2019-10-18
---
# How to set up Alfresco Transform Service (Community)
By default, the _Alfresco Transform Service_ (from now ATS) is not included in the basic configuration of the projects generated making use of the Alfresco
SDK archetypes.
ATS is now supported in ACS Community and it is distributed as a composition of Docker containers. The docker images required for ATS are available in the
Alfresco account at [Docker Hub](https://hub.docker.com/u/alfresco/).
In order to properly configure ATS in a project generated using the Alfresco SDK archetypes it is required to execute 2 steps:
1. Add the containers that conform ATS to the Docker compose file.
2. Configure the properties that are required to properly set up ATS.
## Adding the new containers
* Locate the Docker compose file (usually at `PROJECT_ROOT_PATH/docker/docker-compose.yml`) and add the containers that conform ATS (`alfresco-pdf-renderer`,
`imagemagick`, `libreoffice`, `tika`, `transform-misc` and `activemq`):
```
services:
...
alfresco-pdf-renderer:
image: alfresco/alfresco-pdf-renderer:2.1.0-RC3
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
ports:
- 8090:8090
imagemagick:
image: alfresco/alfresco-imagemagick:2.1.0-RC3
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
ports:
- 8091:8090
libreoffice:
image: alfresco/alfresco-libreoffice:2.1.0-RC3
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
ports:
- 8092:8090
tika:
image: alfresco/alfresco-tika:2.1.0-RC3
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
ports:
- 8093:8090
transform-misc:
image: alfresco/alfresco-transform-misc:2.1.0-RC3
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
ports:
- 8094:8090
activemq:
image: alfresco/alfresco-activemq:5.15.8
ports:
- 8161:8161 # Web Console
- 5672:5672 # AMQP
- 61616:61616 # OpenWire
- 61613:61613 # STOMP
...
```
* Check that you haven't any port conflict with other services in the Docker compose file.
## Adding the required configuration
* Locate the _Alfresco global properties_ file for docker (usually at `PROJECT_ROOT_PATH/PROJECT_ARTIFACT_ID-platform-docker/src/main/docker/alfresco-global.properties`)
and add the ATS configuration properties:
```
# Alfresco Transform Service
local.transform.service.enabled=true
localTransform.pdfrenderer.url=http://alfresco-pdf-renderer:8090/
localTransform.imagemagick.url=http://imagemagick:8090/
localTransform.libreoffice.url=http://libreoffice:8090/
localTransform.tika.url=http://tika:8090/
localTransform.misc.url=http://transform-misc:8090/
legacy.transform.service.enabled=true
alfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
jodconverter.url=http://libreoffice:8090/
img.url=http://imagemagick:8090/
tika.url=http://tika:8090/
transform.misc.url=http://transform-misc:8090/
messaging.broker.url=failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true
```
* Remove the old value of the properties: `messaging.broker.url`, `transform.service.enabled`, `local.transform.service.enabled` and
`legacy.transform.service.enabled` in the same `alfresco-global.properties` file.
Once these 2 modifications are done, rebuild and restart all the services (`run.sh/run.bat build_start`) and ACS will use ATS to execute remote transformations
asynchronously whenever possible.

View File

@@ -1,11 +1,11 @@
--- ---
Title: Working with AMPs Title: Working with AMPs
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Working with AMPs # Working with AMPs
Since the early days of the Alfresco SDK, the Alfresco Module Packages (AMP) have been the way customizations were packaged. In Alfresco SDK 4.0 everything Since the early days of the Alfresco SDK, the Alfresco Module Packages (AMP) have been the way customizations were packaged. In Alfresco SDK 4.1 everything
is packaged as a JAR by default, while the AMPs are still available as an optional assembly. This gives you much more control over packaging, and simple is packaged as a JAR by default, while the AMPs are still available as an optional assembly. This gives you much more control over packaging, and simple
modules can easily be deployed as JARs. modules can easily be deployed as JARs.
@@ -55,7 +55,7 @@ to your needs.
## Installing AMPs with the SDK ## Installing AMPs with the SDK
The projects created from the Alfresco SDK 4.0 archetypes are configured to deploy either JARs or AMPs to the ACS / Share docker container. The only thing to The projects created from the Alfresco SDK 4.1 archetypes are configured to deploy either JARs or AMPs to the ACS / Share docker container. The only thing to
do is modify the `pom.xml` file of the corresponding docker module / project in order to properly configure the dependencies and the Maven dependency plugin. do is modify the `pom.xml` file of the corresponding docker module / project in order to properly configure the dependencies and the Maven dependency plugin.
### All-In-One project ### All-In-One project
@@ -172,7 +172,7 @@ Here is an example of how to install Florian Maul's Javascript Console.
## Controlling the order AMPs are applied ## Controlling the order AMPs are applied
Under some specific circumstances it is necessary to apply different AMPs in a development project in a precise order. The default configuration of the Under some specific circumstances it is necessary to apply different AMPs in a development project in a precise order. The default configuration of the
projects generated using the Alfresco SDK 4.0 archetypes doesn't specify any concrete order applying the AMPs to the ACS/Share installation. projects generated using the Alfresco SDK 4.1 archetypes doesn't specify any concrete order applying the AMPs to the ACS/Share installation.
Anyway, that order can be controlled modifying slightly the configuration of the custom Docker images in the project. For instance, let's say we have three Anyway, that order can be controlled modifying slightly the configuration of the custom Docker images in the project. For instance, let's say we have three
third party AMPs that we want to apply in the next order `third-party-amp-01.amp -> third-party-amp-02.amp -> third-party-amp-03.amp`. In this example, we're third party AMPs that we want to apply in the next order `third-party-amp-01.amp -> third-party-amp-02.amp -> third-party-amp-03.amp`. In this example, we're

View File

@@ -1,7 +1,7 @@
--- ---
Title: Debugging Title: Debugging
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-17 Last reviewed: 2019-10-18
--- ---
# Debugging # Debugging
@@ -10,4 +10,4 @@ application server. This section outlines the steps needed to configure Alfresco
and to troubleshoot issues by stepping through the code line by line. and to troubleshoot issues by stepping through the code line by line.
Here we assume you have already generated an Alfresco project using the Alfresco SDK. If you don't have a project already, follow the steps in Here we assume you have already generated an Alfresco project using the Alfresco SDK. If you don't have a project already, follow the steps in
[Getting started with Alfresco SDK 4.0](../../getting-started.md) to learn how to generate it in a few easy steps. [Getting started with Alfresco SDK 4.1](../../getting-started.md) to learn how to generate it in a few easy steps.

View File

@@ -1,11 +1,11 @@
--- ---
Title: Remote debugging using Eclipse Title: Remote debugging using Eclipse
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Remote debugging using Eclipse # Remote debugging using Eclipse
All the projects generated using the Alfresco SDK 4.0 are pre-configured to listen for remote debug connections. Depending on the selected archetypes you'll All the projects generated using the Alfresco SDK 4.1 are pre-configured to listen for remote debug connections. Depending on the selected archetypes you'll
have a port for remotely debugging ACS, share or both of them. have a port for remotely debugging ACS, share or both of them.
By default, the remote debug port for ACS is **8888** and for share is **9898**. This configuration can be changed through the maven properties `acs.debug.port` By default, the remote debug port for ACS is **8888** and for share is **9898**. This configuration can be changed through the maven properties `acs.debug.port`
@@ -79,7 +79,7 @@ application. In our case, we are going to test the behaviour of debugging by run
8. Open your browser and type `http://localhost:8080/alfresco/s/sample/helloworld`. 8. Open your browser and type `http://localhost:8080/alfresco/s/sample/helloworld`.
This is a sample webscript generated in every project created using SDK 4.0 and the platform artifact. This is a sample webscript generated in every project created using SDK 4.1 and the platform artifact.
![Alt text](../../docassets/images/sdk-hellofromjava.png "Hello World webscript original result") ![Alt text](../../docassets/images/sdk-hellofromjava.png "Hello World webscript original result")

View File

@@ -1,11 +1,11 @@
--- ---
Title: Remote debugging using IntelliJ Title: Remote debugging using IntelliJ
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Remote debugging using IntelliJ # Remote debugging using IntelliJ
All the projects generated using the Alfresco SDK 4.0 are pre-configured to listen for remote debug connections. Depending on the selected archetypes you'll All the projects generated using the Alfresco SDK 4.1 are pre-configured to listen for remote debug connections. Depending on the selected archetypes you'll
have a port for remotely debugging ACS, share or both of them. have a port for remotely debugging ACS, share or both of them.
By default, the remote debug port for ACS is **8888** and for share is **9898**. This configuration can be changed through the maven properties `acs.debug.port` By default, the remote debug port for ACS is **8888** and for share is **9898**. This configuration can be changed through the maven properties `acs.debug.port`
@@ -77,7 +77,7 @@ application. In our case, we are going to test the behaviour of debugging by run
7. Open your browser and type `http://localhost:8080/alfresco/s/sample/helloworld`. 7. Open your browser and type `http://localhost:8080/alfresco/s/sample/helloworld`.
This is a sample webscript generated in every project created using SDK 4.0 and the platform artifact. This is a sample webscript generated in every project created using SDK 4.1 and the platform artifact.
![Alt text](../../docassets/images/sdk-hellofromjava.png "Hello World webscript original result") ![Alt text](../../docassets/images/sdk-hellofromjava.png "Hello World webscript original result")

View File

@@ -1,7 +1,7 @@
--- ---
Title: Hot reloading Title: Hot reloading
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-17 Last reviewed: 2019-10-18
--- ---
# Hot reloading # Hot reloading

View File

@@ -1,19 +1,19 @@
--- ---
Title: How to configure and use Hotswap Agent Title: How to configure and use Hotswap Agent
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# How to configure and use Hotswap Agent # How to configure and use Hotswap Agent
[HotSwapAgent](http://hotswapagent.org/index.html) is the agent that enables you to do hot reloading. This allows you to modify the application code, and [HotSwapAgent](http://hotswapagent.org/index.html) is the agent that enables you to do hot reloading. This allows you to modify the application code, and
view the changes without having to restart Alfresco Tomcat (or the ACS Docker container). view the changes without having to restart Alfresco Tomcat (or the ACS Docker container).
A prerequisite for this tutorial is to have a project created with the Alfresco SDK 4.0, using the All-In-One archetype or the Platform JAR archetype. It's A prerequisite for this tutorial is to have a project created with the Alfresco SDK 4.1, using the All-In-One archetype or the Platform JAR archetype. It's
worth noting that hot reloading is only supported on the platform, and not in Alfresco Share. worth noting that hot reloading is only supported on the platform, and not in Alfresco Share.
As an alternative to the HotSwapAgent you can also try out JRebel. It has more features but isn't free. As an alternative to the HotSwapAgent you can also try out JRebel. It has more features but isn't free.
The way to configure HotSwapAgent in case of using Java 8 or Java 11 is pretty different. By default, ACS 6.0 uses Java 8 and ACS 6.1 uses Java 11. The way to configure HotSwapAgent in case of using Java 8 or Java 11 is pretty different. By default, ACS 6.0 uses Java 8 and ACS 6.1+ uses Java 11.
## Issue with Docker Toolbox ## Issue with Docker Toolbox
@@ -112,7 +112,7 @@ For more information about HotSwapAgent configuration for Java 8, please check t
Using Java 11 and HotSwapAgent, it isn't necessary to configure the java agent and the alternative JVM as in previous versions. Instead, it is required Using Java 11 and HotSwapAgent, it isn't necessary to configure the java agent and the alternative JVM as in previous versions. Instead, it is required
to use an alternative pre-built JDK distribution. That JDK is based on OpenJDK and includes all the required modifications to run the HotSwapAgent properly. to use an alternative pre-built JDK distribution. That JDK is based on OpenJDK and includes all the required modifications to run the HotSwapAgent properly.
In the context of the Alfresco SDK 4.0, this change is an issue because the JDK installation is inherited from the [Alfresco java docker image](https://github.com/Alfresco/alfresco-docker-base-java). In the context of the Alfresco SDK 4.1, this change is an issue because the JDK installation is inherited from the [Alfresco java docker image](https://github.com/Alfresco/alfresco-docker-base-java).
It is necessary to modify the project ACS docker image to change the default java installation of the container's OS to the one provided by HotSwapAgent. It is necessary to modify the project ACS docker image to change the default java installation of the container's OS to the one provided by HotSwapAgent.
A way to implement the required modifications would be: A way to implement the required modifications would be:
@@ -250,7 +250,7 @@ You'll recognize HotSwapAgent is working when you see similar log messages:
2. Before making any changes, let's run the sample webscript by opening your browser and typing `http://localhost:8080/alfresco/s/sample/helloworld`. 2. Before making any changes, let's run the sample webscript by opening your browser and typing `http://localhost:8080/alfresco/s/sample/helloworld`.
This is a sample webscript generated in every project created using SDK 4.0 and the platform artifact. This is a sample webscript generated in every project created using SDK 4.1 and the platform artifact.
![Alt text](../../docassets/images/sdk-hellofromjava.png "Hello World webscript original result") ![Alt text](../../docassets/images/sdk-hellofromjava.png "Hello World webscript original result")

View File

@@ -1,14 +1,14 @@
--- ---
Title: How to configure and use JRebel Title: How to configure and use JRebel
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# How to configure and use JRebel # How to configure and use JRebel
[JRebel](https://zeroturnaround.com/software/jrebel/) is the agent that enables you to do hot reloading. This allows you to modify the application code, [JRebel](https://zeroturnaround.com/software/jrebel/) is the agent that enables you to do hot reloading. This allows you to modify the application code,
and view the changes without having to restart Alfresco Tomcat (or the ACS Docker container). and view the changes without having to restart Alfresco Tomcat (or the ACS Docker container).
A prerequisite to this tutorial is having an Alfresco project created with Alfresco SDK 4.0, using the All-In-One archetype, or the Platform JAR archetype. A prerequisite to this tutorial is having an Alfresco project created with Alfresco SDK 4.1, using the All-In-One archetype, or the Platform JAR archetype.
It's worth noting that hot reloading is only supported on the platform, and not in Alfresco Share. It's worth noting that hot reloading is only supported on the platform, and not in Alfresco Share.
An open source and free of charge alternative to JRebel is HotSwapAgent. For more details, see the [HotSwapAgent website](http://hotswapagent.org/index.html). An open source and free of charge alternative to JRebel is HotSwapAgent. For more details, see the [HotSwapAgent website](http://hotswapagent.org/index.html).

View File

@@ -1,7 +1,7 @@
--- ---
Title: Integration testing Title: Integration testing
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-16 Last reviewed: 2019-10-18
--- ---
# Integration testing # Integration testing
@@ -11,11 +11,11 @@ in an integration test plan to those aggregates, and delivers as its output the
Even if the definition of integration testing is a general description, the concept is also valid for Alfresco projects. Even if the definition of integration testing is a general description, the concept is also valid for Alfresco projects.
The Alfresco SDK 4.0 keeps the same general idea of integration testing provided by SDK 3.0, but this new version reshapes it slightly to leverage on a The Alfresco SDK 4.1 keeps the same general idea of integration testing provided by SDK 3.0, but this new version reshapes it slightly to leverage on a
Docker-oriented environment. Docker-oriented environment.
Here are the basics to understanding and using integration testing in the context of projects created with the SDK, from a technical perspective: Here are the basics to understanding and using integration testing in the context of projects created with the SDK, from a technical perspective:
* SDK 4.0 develops integration tests for the platform only. Currently, the integration tests that the SDK is able to manage by default is related to * SDK 4.1 develops integration tests for the platform only. Currently, the integration tests that the SDK is able to manage by default is related to
Alfresco Content Services (ACS) only. Alfresco Content Services (ACS) only.
* Integration tests require an ACS instance to be up and running. You will see that all the scripts and commands are designed to easily manage this * Integration tests require an ACS instance to be up and running. You will see that all the scripts and commands are designed to easily manage this
requirement, but the prerequisite for the SDK is that an ACS instance is available. requirement, but the prerequisite for the SDK is that an ACS instance is available.

View File

@@ -1,11 +1,11 @@
--- ---
Title: How to run SDK's integration tests Title: How to run SDK's integration tests
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-16 Last reviewed: 2019-10-18
--- ---
# How to run SDK's integration tests # How to run SDK's integration tests
Running the integration tests of a project generated from the Alfresco SDK 4.0 archetypes is pretty easy. Let's distinguish different cases of executing the Running the integration tests of a project generated from the Alfresco SDK 4.1 archetypes is pretty easy. Let's distinguish different cases of executing the
integration tests. integration tests.
## Command line ## Command line

View File

@@ -1,7 +1,7 @@
--- ---
Title: How SDK's integration tests work Title: How SDK's integration tests work
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-16 Last reviewed: 2019-10-18
--- ---
# How SDK's integration tests work # How SDK's integration tests work
@@ -36,7 +36,7 @@ or set the Java system property `acs.endpoint.path`.
## Integration tests configuration in the All-In-One project ## Integration tests configuration in the All-In-One project
So, taking into account the previous section, let's see how the integration tests are configured in a project generated from the SDK 4.0 All-In-One archetype. So, taking into account the previous section, let's see how the integration tests are configured in a project generated from the SDK 4.1 All-In-One archetype.
* The maven dependencies required to execute the integration tests are deployed to the ACS Docker image in the `PROJECT_ARTEFACTID-platform-docker` maven * The maven dependencies required to execute the integration tests are deployed to the ACS Docker image in the `PROJECT_ARTEFACTID-platform-docker` maven
module using the `maven-dependency-plugin`. The configuration is done in the file `PROJECT_ARTEFACTID-platform-docker/pom.xml`: module using the `maven-dependency-plugin`. The configuration is done in the file `PROJECT_ARTEFACTID-platform-docker/pom.xml`:

View File

@@ -1,7 +1,7 @@
--- ---
Title: Switching Alfresco Content Services database Title: Switching Alfresco Content Services database
Added: v4.0.0 Added: v4.0.0
Last reviewed: 2019-01-29 Last reviewed: 2019-10-18
--- ---
# Switching Alfresco Content Services database # Switching Alfresco Content Services database

View File

@@ -1,14 +1,14 @@
--- ---
Title: Switching Alfresco Content Services and Share versions Title: Switching Alfresco Content Services and Share versions
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-16 Last reviewed: 2019-10-18
--- ---
# Switching Alfresco Content Services and Share versions # Switching Alfresco Content Services and Share versions
The latest version of the Alfresco SDK supports different versions for Alfresco Content Services and Alfresco Share. Since each product is no longer The latest version of the Alfresco SDK supports different versions for Alfresco Content Services and Alfresco Share. Since each product is no longer
released under one common version number, ACS (i.e. alfresco.war) and the Share UI (share.war) are now released with individual version numbers. released under one common version number, ACS (i.e. alfresco.war) and the Share UI (share.war) are now released with individual version numbers.
By default, SDK 4.0 is configured to generate projects using the most recent version of ACS and Share. You can easily change one (or both) versions by By default, SDK 4 is configured to generate projects using the most recent version of ACS and Share. You can easily change one (or both) versions by
simply updating the `pom.xml` file in your project. The compatibility of these versions is up to you, however you should check in advance the right versions simply updating the `pom.xml` file in your project. The compatibility of these versions is up to you, however you should check in advance the right versions
to use. to use.
@@ -28,7 +28,7 @@ The supported versions are explained in the next sections of this article.
## Switch to Alfresco version 6.0.x ## Switch to Alfresco version 6.0.x
Starting from a newly created Alfresco SDK 4.0 project (All-In-One, Platform JAR, or Share JAR), lets replace the two properties with the following ones. Starting from a newly created Alfresco SDK 4.1 project (All-In-One, Platform JAR, or Share JAR), lets replace the two properties with the following ones.
1. Open the pom.xml in your generated project. 1. Open the pom.xml in your generated project.
@@ -54,6 +54,34 @@ $ ./run.sh purge
$ ./run.sh build_start $ ./run.sh build_start
``` ```
**IMPORTANT:** Alfresco 6.1 is ready to work with JDK 11, but Alfresco 6.0 needs to be compiled and run using JDK 8, so please take this into account when you **IMPORTANT:** Alfresco 6.1+ is ready to work with JDK 11, but Alfresco 6.0 needs to be compiled and run using JDK 8, so please take this into account when you
switch from version 6.1.x to 6.0.x. If you compile Alfresco 6.0.x with JDK 11 you'll experience the issue described in the [Troubleshooting page](../troubleshooting.md) switch from version 6.1+ to 6.0.x. If you compile Alfresco 6.0.x with JDK 11 you'll experience the issue described in the [Troubleshooting page](../troubleshooting.md)
about wrong JDK versions. about wrong JDK versions.
## Switch to Alfresco version 6.1.x
Starting from a newly created Alfresco SDK 4.1 project (All-In-One, Platform JAR, or Share JAR), lets replace the two properties with the following ones.
1. Open the pom.xml in your generated project.
2. Replace the properties with the following:
```
<alfresco.platform.version>6.1.2-ga</alfresco.platform.version>
<alfresco.share.version>6.1.0-RC3</alfresco.share.version>
```
In this example we have shown the switch to version 6.1.2-ga. Feel free to use the correct version for your project, paying attention to the compatible versions
of Alfresco Content Services and Alfresco Share.
3. After changing the versions, delete all the previous data of your development Docker environment:
```
$ ./run.sh purge
```
4. Rebuild and restart the project:
```
$ ./run.sh build_start
```

View File

@@ -3,15 +3,15 @@ Title: Upgrading
Added: v4.0.0 Added: v4.0.0
Last reviewed: 2019-01-29 Last reviewed: 2019-01-29
--- ---
# Upgrading an SDK 3.0 project to SDK 4.0 # Upgrading an SDK 3.0 project to SDK 4.1
In these instructions, "base" refers to a freshly instantiated SDK 4.0 and "target" refers to the SDK 3.0.1 project that is being upgraded. In these instructions, "base" refers to a freshly instantiated SDK 4.1 and "target" refers to the SDK 3.0.1 project that is being upgraded.
## Download a base ## Download a base
Download or instantiate an SDK 4.0 project to use as a base for copying files. Download or instantiate an SDK 4.1 project to use as a base for copying files.
For example, you might create a new project called "test-aio-400" to use as a base from which to copy files into the target project that is to be upgraded. For example, you might create a new project called `test-aio-400` to use as a base from which to copy files into the target project that is to be upgraded.
## Remove unnecessary files ## Remove unnecessary files
@@ -65,7 +65,7 @@ Similar to previous step, the directory should follow the same pattern as the ex
Need to smartly do this merge so that target project maintains its dependencies, name, version, description, etc. Need to smartly do this merge so that target project maintains its dependencies, name, version, description, etc.
1. Copy the entire `<properties>` element from the base 4.0 pom.xml into the target 3.0 pom.xml, replacing the existing one completely. 1. Copy the entire `<properties>` element from the base 4.1 pom.xml into the target 3.0 pom.xml, replacing the existing one completely.
2. Change the `acs.host` property to match the target project name. 2. Change the `acs.host` property to match the target project name.
@@ -220,7 +220,7 @@ Then that would need to be moved into the share docker module's pom.xml file in
## Changes to the integration-tests module ## Changes to the integration-tests module
1. Completely replace the pom.xml file with the pom.xml file from the 4.0 pom.xml file under integration-tests. 1. Completely replace the pom.xml file with the pom.xml file from the 4.1 pom.xml file under integration-tests.
2. Edit the integration-tests pom.xml to replace references to the base project name with references to the target project name. 2. Edit the integration-tests pom.xml to replace references to the base project name with references to the target project name.
@@ -230,7 +230,7 @@ Then that would need to be moved into the share docker module's pom.xml file in
## Changes to the platform-jar module ## Changes to the platform-jar module
Smartly merge the pom.xml file from the 4.0 platform-jar module into the existing platform-jar module pom.xml file. Smartly merge the pom.xml file from the 4.1 platform-jar module into the existing platform-jar module pom.xml file.
Maintain the dependencies from the 3.0 platform-jar module pom.xml. Maintain the dependencies from the 3.0 platform-jar module pom.xml.
@@ -238,13 +238,13 @@ Any old "platformModule" dependencies, which are typically AMPs or JARs that nee
## Changes to the share-jar module ## Changes to the share-jar module
Smartly merge the pom.xml file from the 4.0 share-jar module into the existing share-jar module pom.xml file. Smartly merge the pom.xml file from the 4.1 share-jar module into the existing share-jar module pom.xml file.
Maintain the dependencies from the 3.0 share-jar module pom.xml. Maintain the dependencies from the 3.0 share-jar module pom.xml.
Any old "shareModule" dependencies, which are typically AMPs or JARs that need to be installed in the Share tier need to be copied into this pom.xml's depdencies. Any old "shareModule" dependencies, which are typically AMPs or JARs that need to be installed in the Share tier need to be copied into this pom.xml's depdencies.
Remove the spring-surf-api dependency from the 4.0 share-jar module. Remove: Remove the spring-surf-api dependency from the 4.1 share-jar module. Remove:
``` ```
<dependency> <dependency>

View File

@@ -1,7 +1,7 @@
--- ---
Title: Working with Enterprise Title: Working with Enterprise
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# Working with Enterprise # Working with Enterprise
@@ -54,11 +54,11 @@ The configuration of the Enterprise version is straightforward when using the `p
You'll need to update the following settings in the `pom.xml` file: You'll need to update the following settings in the `pom.xml` file:
``` ```
<alfresco.platform.version>6.1.0</alfresco.platform.version> <alfresco.platform.version>6.2.0</alfresco.platform.version>
<alfresco.share.version>6.1.0</alfresco.share.version> <alfresco.share.version>6.2.0</alfresco.share.version>
``` ```
Making use of the Alfresco SDK 4.0 it is no longer required the configuration of the Alfresco Surf versions. The inclusion of the BOM and the custom Docker Making use of the Alfresco SDK 4 it is no longer required the configuration of the Alfresco Surf versions. The inclusion of the BOM and the custom Docker
images will take care of that task automatically for you. images will take care of that task automatically for you.
## Purging the project data and running the project ## Purging the project data and running the project

View File

@@ -1,9 +1,9 @@
--- ---
Title: How to set up Alfresco Transform Service Title: How to set up Alfresco Transform Service (Enterprise)
Added: v4.0.0 Added: v4.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# How to set up Alfresco Transform Service # How to set up Alfresco Transform Service (Enterprise)
By default, the _Alfresco Transform Service_ (from now ATS) is not included in the basic configuration of the projects generated making use of the Alfresco By default, the _Alfresco Transform Service_ (from now ATS) is not included in the basic configuration of the projects generated making use of the Alfresco
SDK archetypes. SDK archetypes.
@@ -18,53 +18,78 @@ In order to properly configure ATS in a project generated using the Alfresco SDK
## Adding the new containers ## Adding the new containers
* Locate the Docker compose file (usually at `PROJECT_ROOT_PATH/docker/docker-compose.yml`) and add the containers that conform ATS (`transform-router`, * Locate the Docker compose file (usually at `PROJECT_ROOT_PATH/docker/docker-compose.yml`) and add the containers that conform ATS (`transform-router`,
`alfresco-pdf-renderer`, `imagemagick`, `libreoffice`, `tika`, `shared-file-store` and `activemq`): `alfresco-pdf-renderer`, `imagemagick`, `libreoffice`, `tika`, `transform-misc`, `shared-file-store` and `activemq`):
``` ```
services: services:
... ...
transform-router: transform-router:
image: quay.io/alfresco/alfresco-transform-router:0.5.0 image: quay.io/alfresco/alfresco-transform-router:1.1.0-RC3
environment: environment:
JAVA_OPTS: " -Xms256m -Xmx512m" JAVA_OPTS: " -Xms256m -Xmx512m"
ACTIVEMQ_URL: "nio://activemq:61616" ACTIVEMQ_URL: "nio://activemq:61616"
IMAGEMAGICK_URL: "http://imagemagick:8090" IMAGEMAGICK_URL: "http://imagemagick:8090"
PDF_RENDERER_URL: "http://alfresco-pdf-renderer:8090" PDF_RENDERER_URL : "http://alfresco-pdf-renderer:8090"
LIBREOFFICE_URL: "http://libreoffice:8090" LIBREOFFICE_URL : "http://libreoffice:8090"
TIKA_URL: "http://tika:8090" TIKA_URL : "http://tika:8090"
TRANSFORM_MISC_URL : "http://transform-misc:8090"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
ports:
- 8095:8095
links: links:
- activemq - activemq
alfresco-pdf-renderer: alfresco-pdf-renderer:
image: quay.io/alfresco/alfresco-pdf-renderer:2.0.8 image: alfresco/alfresco-pdf-renderer:2.1.0-RC2
environment: environment:
JAVA_OPTS: " -Xms256m -Xmx512m" JAVA_OPTS: " -Xms256m -Xmx512m"
ACTIVEMQ_URL: "nio://activemq:61616"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
ports: ports:
- 8090:8090 - 8090:8090
links:
- activemq
imagemagick: imagemagick:
image: quay.io/alfresco/alfresco-imagemagick:2.0.8 image: alfresco/alfresco-imagemagick:2.1.0-RC2
environment: environment:
JAVA_OPTS: " -Xms256m -Xmx512m" JAVA_OPTS: " -Xms256m -Xmx512m"
ACTIVEMQ_URL: "nio://activemq:61616"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
ports: ports:
- 8091:8090 - 8091:8090
links:
- activemq
libreoffice: libreoffice:
image: quay.io/alfresco/alfresco-libreoffice:2.0.8 image: alfresco/alfresco-libreoffice:2.1.0-RC2
environment: environment:
JAVA_OPTS: " -Xms256m -Xmx512m" JAVA_OPTS: " -Xms256m -Xmx512m"
ACTIVEMQ_URL: "nio://activemq:61616"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
ports: ports:
- 8092:8090 - 8092:8090
links:
- activemq
tika: tika:
image: quay.io/alfresco/alfresco-tika:2.0.8 image: alfresco/alfresco-tika:2.1.0-RC2
environment: environment:
JAVA_OPTS: " -Xms256m -Xmx512m" JAVA_OPTS: " -Xms256m -Xmx512m"
ACTIVEMQ_URL: "nio://activemq:61616"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file" FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
ports: ports:
- 8093:8090 - 8093:8090
links:
- activemq
transform-misc:
image: alfresco/alfresco-transform-misc:2.1.0-RC2
environment:
JAVA_OPTS: " -Xms256m -Xmx512m"
ACTIVEMQ_URL: "nio://activemq:61616"
FILE_STORE_URL: "http://shared-file-store:8099/alfresco/api/-default-/private/sfs/versions/1/file"
ports:
- 8094:8090
links:
- activemq
shared-file-store: shared-file-store:
image: alfresco/alfresco-shared-file-store:0.5.1 image: alfresco/alfresco-shared-file-store:0.5.3
environment: environment:
JAVA_OPTS: " -Xms256m -Xmx512m" JAVA_OPTS: " -Xms256m -Xmx512m"
scheduler.content.age.millis: 86400000 scheduler.content.age.millis: 86400000
@@ -74,7 +99,7 @@ services:
volumes: volumes:
- shared-file-store-volume:/tmp/Alfresco/sfs - shared-file-store-volume:/tmp/Alfresco/sfs
activemq: activemq:
image: alfresco/alfresco-activemq:5.15.6 image: alfresco/alfresco-activemq:5.15.8
ports: ports:
- 8161:8161 # Web Console - 8161:8161 # Web Console
- 5672:5672 # AMQP - 5672:5672 # AMQP
@@ -102,13 +127,24 @@ and add the ATS configuration properties:
``` ```
# Alfresco Transform Service # Alfresco Transform Service
transform.service.enabled=true
transform.service.url=http://transform-router:8095
sfs.url=http://shared-file-store:8099/
local.transform.service.enabled=true
localTransform.pdfrenderer.url=http://alfresco-pdf-renderer:8090/
localTransform.imagemagick.url=http://imagemagick:8090/
localTransform.libreoffice.url=http://libreoffice:8090/
localTransform.tika.url=http://tika:8090/
localTransform.misc.url=http://transform-misc:8090/
legacy.transform.service.enabled=true
alfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/ alfresco-pdf-renderer.url=http://alfresco-pdf-renderer:8090/
jodconverter.url=http://libreoffice:8090/ jodconverter.url=http://libreoffice:8090/
img.url=http://imagemagick:8090/ img.url=http://imagemagick:8090/
tika.url=http://tika:8090/ tika.url=http://tika:8090/
sfs.url=http://shared-file-store:8099/ transform.misc.url=http://transform-misc:8090/
local.transform.service.enabled=true
transform.service.enabled=true
messaging.broker.url=failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true messaging.broker.url=failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true
``` ```

View File

@@ -1,7 +1,7 @@
--- ---
Title: How to configure private Alfresco Docker registry Title: How to configure private Alfresco Docker registry
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# How to configure private Alfresco Docker registry # How to configure private Alfresco Docker registry

View File

@@ -1,7 +1,7 @@
--- ---
Title: How to configure private Alfresco Nexus repository Title: How to configure private Alfresco Nexus repository
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# How to configure private Alfresco Nexus repository # How to configure private Alfresco Nexus repository

View File

@@ -1,15 +1,15 @@
--- ---
Title: Getting started with Alfresco SDK 4.0 Title: Getting started with Alfresco SDK 4.1
Added: v2.1.1 Added: v2.1.1
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Getting started with Alfresco SDK 4.0 # Getting started with Alfresco SDK 4.1
Use these instructions to get started with using Alfresco SDK 4.0. Use these instructions to get started with using Alfresco SDK 4.1.
## Prerequisites ## Prerequisites
There are a number of software requirements for using Alfresco SDK 4.0. There are a number of software requirements for using Alfresco SDK 4.1.
* Java Development Kit (JDK) - Version 11 * Java Development Kit (JDK) - Version 11
* Maven - Version 3.3 * Maven - Version 3.3
* Docker - Latest stable version * Docker - Latest stable version
@@ -18,7 +18,7 @@ There are a number of software requirements for using Alfresco SDK 4.0.
### Java ### Java
ACS 6.0 is compiled and executed using Java 8, but it is highly recommended to work with ACS 6.1 which uses Java 11. ACS 6.0 is compiled and executed using Java 8, but it is highly recommended to work with ACS 6.1+ which uses Java 11.
1. Download [JDK 11](https://jdk.java.net/11/), unzip it and configure it as the default Java installation. 1. Download [JDK 11](https://jdk.java.net/11/), unzip it and configure it as the default Java installation.
@@ -46,7 +46,7 @@ JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
Alfresco recommends that you keep up-to-date with all the Maven releases. Linux distributions and package managers tend to bundle older releases and this is Alfresco recommends that you keep up-to-date with all the Maven releases. Linux distributions and package managers tend to bundle older releases and this is
the most common pitfall. the most common pitfall.
Alfresco SDK 4.0 requires Maven 3.3.0+, but you are recommended to download the latest version. Alfresco SDK 4.1 requires Maven 3.3.0+, but you are recommended to download the latest version.
1. Download and install [Apache Maven](https://maven.apache.org/download.cgi) and make sure it is configured correctly on your path. 1. Download and install [Apache Maven](https://maven.apache.org/download.cgi) and make sure it is configured correctly on your path.
@@ -95,7 +95,7 @@ mvn archetype:generate -Dfilter=org.alfresco:
``` ```
You'll be prompted to select the archetype you want. The previously available archetypes, alfresco-amp-archetype and share-amp-archetype will still show up You'll be prompted to select the archetype you want. The previously available archetypes, alfresco-amp-archetype and share-amp-archetype will still show up
as an option, however these archetypes are not part of Alfresco SDK 4.0. as an option, however these archetypes are not part of Alfresco SDK 4.1.
Attention: You'll need double quotes around the filter part if you are using Windows Powershell: mvn archetype:generate "-Dfilter=org.alfresco:". Attention: You'll need double quotes around the filter part if you are using Windows Powershell: mvn archetype:generate "-Dfilter=org.alfresco:".
@@ -118,7 +118,7 @@ Choose archetype:
* `org.alfresco.maven.archetype:alfresco-platform-jar-archetype` * `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
* `org.alfresco.maven.archetype:alfresco-share-jar-archetype` * `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
3. Choose the latest version, such as 4.0.0. 3. Choose the latest version, such as 4.1.0.
``` ```
Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version: Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
@@ -133,6 +133,7 @@ Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
9: 3.0.0 9: 3.0.0
10: 3.0.1 10: 3.0.1
11: 4.0.0 11: 4.0.0
12: 4.1.0
``` ```
4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below: 4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below:
@@ -161,7 +162,7 @@ If everything has been configured correctly, you should see something similar to
``` ```
[INFO] ---------------------------------------------------------------------------- [INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.0.0-SNAPSHOT [INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.1.0-SNAPSHOT
[INFO] ---------------------------------------------------------------------------- [INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.acme [INFO] Parameter: groupId, Value: com.acme
[INFO] Parameter: artifactId, Value: my-all-in-one [INFO] Parameter: artifactId, Value: my-all-in-one
@@ -188,7 +189,7 @@ If everything has been configured correctly, you should see something similar to
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
``` ```
7. You have successfully generated your first SDK 4.0 project. 7. You have successfully generated your first SDK 4.1 project.
Inside the project, you will find the `run.bat` and `run.sh` scripts. These are convenience scripts for you to quickly compile / test / run your project. Inside the project, you will find the `run.bat` and `run.sh` scripts. These are convenience scripts for you to quickly compile / test / run your project.

View File

@@ -1,21 +1,21 @@
--- ---
Title: Alfresco SDK Maven archetypes Title: Alfresco SDK Maven archetypes
Added: v2.1.1 Added: v2.1.1
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# Alfresco SDK Maven archetypes # Alfresco SDK Maven archetypes
The Alfresco SDK 4.0 comes with a number of Maven archetypes that can be used to generate Alfresco extension projects. The Alfresco SDK 4.1 comes with a number of Maven archetypes that can be used to generate Alfresco extension projects.
For more details, see [Getting started with Alfresco SDK 4.0](getting-started.md). For more details, see [Getting started with Alfresco SDK 4.1](getting-started.md).
These archetypes are available during the creation of a brand new project. In short, a [Maven archetype](https://maven.apache.org/guides/introduction/introduction-to-archetypes.html) These archetypes are available during the creation of a brand new project. In short, a [Maven archetype](https://maven.apache.org/guides/introduction/introduction-to-archetypes.html)
is a project templating toolkit. It's defined as an original pattern or model from which all other things of the same kind are made. Using archetypes is a project templating toolkit. It's defined as an original pattern or model from which all other things of the same kind are made. Using archetypes
provides a great way to enable developers to quickly follow best practice in a consistent way. This is valid for every project built with Apache Maven and provides a great way to enable developers to quickly follow best practice in a consistent way. This is valid for every project built with Apache Maven and
it's valid in particular when using Alfresco SDK 4.0. it's valid in particular when using Alfresco SDK 4.1.
In this section we are going to introduce all the available archetypes in Alfresco SDK 4.0, with a brief description of their purpose and main use. In this section we are going to introduce all the available archetypes in Alfresco SDK 4.1, with a brief description of their purpose and main use.
After reading this information, you should be able to understand the various possibilities that Alfresco SDK 4.0 can offer to developers, in terms of After reading this information, you should be able to understand the various possibilities that Alfresco SDK 4.1 can offer to developers, in terms of
projects. projects.
When generating your project, you'll be prompted to select the Maven archetype you want to use through an interactive menu, similar to what you can see below. When generating your project, you'll be prompted to select the Maven archetype you want to use through an interactive menu, similar to what you can see below.
@@ -55,7 +55,7 @@ Please note that the numbering is not sequential and some numbers may be skipped
### org.alfresco.maven.archetype:alfresco-allinone-archetype ### org.alfresco.maven.archetype:alfresco-allinone-archetype
This archetype allows a developer to implement the All-In-One project on Alfresco Content Services. The All-In-One project (also called AIO) is provided in This archetype allows a developer to implement the All-In-One project on Alfresco Content Services. The All-In-One project (also called AIO) is provided in
this and previous versions of Alfresco SDK, but in SDK 4.0 it has been reshaped to leverage on Docker. this and previous versions of Alfresco SDK, but in SDK 4.1 it has been reshaped to leverage on Docker.
The All-In-One archetype allows a developer to create a multi-module project on Alfresco Content Services. The All-In-One project mainly includes a module for The All-In-One archetype allows a developer to create a multi-module project on Alfresco Content Services. The All-In-One project mainly includes a module for
the core repository in ACS and a module for the Share client. This includes: the core repository in ACS and a module for the Share client. This includes:
@@ -80,7 +80,7 @@ For more information about the All-In-One project, see [All-In-One project struc
### org.alfresco.maven.archetype:alfresco-platform-jar-archetype ### org.alfresco.maven.archetype:alfresco-platform-jar-archetype
This archetype allows a developer to implement the Platform JAR project on Alfresco Content Services. It has been reshaped in SDK 4.0 to leverage on Docker. This archetype allows a developer to implement the Platform JAR project on Alfresco Content Services. It has been reshaped in SDK 4.1 to leverage on Docker.
The Platform JAR Maven archetype allows a developer to create a module on Alfresco Content Services, in particular on the Repository side, and includes: The Platform JAR Maven archetype allows a developer to create a module on Alfresco Content Services, in particular on the Repository side, and includes:
@@ -99,7 +99,7 @@ For more information about the Platform JAR project, see [Platform JAR project s
### org.alfresco.maven.archetype:alfresco-share-jar-archetype ### org.alfresco.maven.archetype:alfresco-share-jar-archetype
This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4.0 to leverage on Docker. This archetype allows a developer to implement the Share JAR project on an Alfresco Share client. It has been reshaped in SDK 4.1 to leverage on Docker.
The Share JAR Maven archetype allows a developer to create a module on an Alfresco Share client, and includes: The Share JAR Maven archetype allows a developer to create a module on an Alfresco Share client, and includes:

View File

@@ -1,7 +1,7 @@
--- ---
Title: Setting up your development environment Title: Setting up your development environment
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-17 Last reviewed: 2019-10-18
--- ---
# Setting up your development environment # Setting up your development environment

View File

@@ -1,7 +1,7 @@
--- ---
Title: Setting up your development environment using Eclipse Title: Setting up your development environment using Eclipse
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Setting up your development environment using Eclipse # Setting up your development environment using Eclipse
@@ -9,7 +9,7 @@ The Maven Alfresco SDK is designed to work well with Eclipse. This support inclu
Alfresco SDK. Alfresco SDK.
Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you
don't have a project already, follow the steps in [Getting started with Alfresco SDK 4.0](../getting-started.md) to learn how to quickly generate it in a few don't have a project already, follow the steps in [Getting started with Alfresco SDK 4.1](../getting-started.md) to learn how to quickly generate it in a few
easy steps. easy steps.
## Importing the Alfresco project into Eclipse ## Importing the Alfresco project into Eclipse

View File

@@ -1,7 +1,7 @@
--- ---
Title: Setting up your development environment using Intellij IDEA Title: Setting up your development environment using Intellij IDEA
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Setting up your development environment using Intellij IDEA # Setting up your development environment using Intellij IDEA
@@ -9,7 +9,7 @@ The Maven Alfresco SDK is designed to work well with Eclipse. This support inclu
Alfresco SDK. Alfresco SDK.
Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you Here we assume you already have an Eclipse installation up and running, together with an available Alfresco project created using the Alfresco SDK. If you
don't have a project already, follow the steps in [Getting started with Alfresco SDK 4.0](../getting-started.md) to learn how to quickly generate it in a few don't have a project already, follow the steps in [Getting started with Alfresco SDK 4.1](../getting-started.md) to learn how to quickly generate it in a few
easy steps. easy steps.
## Importing the Alfresco project into Intellij IDEA ## Importing the Alfresco project into Intellij IDEA

View File

@@ -1,15 +1,16 @@
--- ---
Title: Troubleshooting Title: Troubleshooting
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-14 Last reviewed: 2019-10-18
--- ---
# Troubleshooting # Troubleshooting
This article describes a list of common issues with the projects generated from the Alfresco SDK 4.0 archetypes and the way to troubleshoot them. This article describes a list of common issues with the projects generated from the Alfresco SDK 4.1 archetypes and the way to troubleshoot them.
* [Incorrect JDK version](#incorrect-jdk-version) * [Incorrect JDK version](#incorrect-jdk-version)
* [Containers synchronization](#containers-synchronization) * [Containers synchronization](#containers-synchronization)
* [Ports conflict](#ports-conflict) * [Ports conflict](#ports-conflict)
* [Transformations not working](#transformations-not-working)
## Incorrect JDK version ## Incorrect JDK version
@@ -146,3 +147,17 @@ That allows you to modify the number of the exposed ports through maven properti
``` ```
That way, if you face a port conflict, you only need to change the port in the corresponding maven property and rebuilt and restart the project. That way, if you face a port conflict, you only need to change the port in the corresponding maven property and rebuilt and restart the project.
## Alfresco Share previews / Transformations not working
### Problem
Some files with different formats like _doc_, _docx_ or _xls_ can't be previewed in Alfresco Share. The source reason of this problem is that the Alfresco
Transformation Service (ATS) is not working. ATS is required to generate the content renditions that will be used by Alfresco Share to show the content preview.
### Solution
By default, ATS is not included in the basic configuration of the projects generated making use of the Alfresco SDK 4 archetypes.
To enable it, you simply need to follow the steps described in the article [How to set up Alfresco Transform Service](advanced-topics/alfresco-transform-service.md).
If you're working with Alfresco Enterprise you must follow [this guide](advanced-topics/working-with-enterprise/alfresco-transform-service.md).

View File

@@ -1,7 +1,7 @@
--- ---
Title: What's new? Title: What's new?
Added: v2.1.1 Added: v2.1.1
Last reviewed: 2019-01-17 Last reviewed: 2019-10-18
--- ---
# What's new? # What's new?
@@ -56,3 +56,7 @@ The integration tests and the mechanisms to execute them in an Alfresco Content
However, the inclusion of Docker and the utility scripts provides a different perspective about the environment on which the integration tests are executed. However, the inclusion of Docker and the utility scripts provides a different perspective about the environment on which the integration tests are executed.
In this version, the integration tests are run against the dockerised environment defined using Docker and Docker compose. By doing so, the integration test In this version, the integration tests are run against the dockerised environment defined using Docker and Docker compose. By doing so, the integration test
environment can be more similar to a real one, including whatever other service is required for a full featured integration test execution. environment can be more similar to a real one, including whatever other service is required for a full featured integration test execution.
## Support for Alfresco 6.2.x
Alfresco SDK 4.1 provides support for Alfresco 6.2.x.

View File

@@ -1,15 +1,15 @@
--- ---
Title: Working with generated projects Title: Working with generated projects
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# Working with generated projects # Working with generated projects
After generating a project using one of the Alfresco SDK 4.0 Maven archetypes, it is important to know how to build / run / test these projects. After generating a project using one of the Alfresco SDK 4.1 Maven archetypes, it is important to know how to build / run / test these projects.
The Alfresco Platform 6 deployment architecture is highly based on container technologies, specifically in The Alfresco Platform 6 deployment architecture is highly based on container technologies, specifically in [Docker](http://docs.alfresco.com/6.0/concepts/master-deploy.html).
[Docker](http://docs.alfresco.com/6.0/concepts/master-deploy.html). Due to that, the projects generated using the Alfresco SDK 4.0 archetypes set up their Due to that, the projects generated using the Alfresco SDK 4.1 archetypes set up their local environment making an intensive use of Docker and Docker compose
local environment making an intensive use of Docker and Docker compose technologies. technologies.
If you're not familiar with these technologies, it is highly recommended visiting the [Docker documentation website](https://docs.docker.com). This site offers If you're not familiar with these technologies, it is highly recommended visiting the [Docker documentation website](https://docs.docker.com). This site offers
a great quantity of training resources about [Docker](https://docs.docker.com/get-started/) and [Docker compose](https://docs.docker.com/compose/gettingstarted/). a great quantity of training resources about [Docker](https://docs.docker.com/get-started/) and [Docker compose](https://docs.docker.com/compose/gettingstarted/).
@@ -21,7 +21,7 @@ a great quantity of training resources about [Docker](https://docs.docker.com/ge
## Project structures ## Project structures
After generating your project, using one of the Maven archetypes, review the project structure. The directory structure and content of each folder and file After generating your project, using one of the Maven archetypes, review the project structure. The directory structure and content of each folder and file
can help you to understand how to start developing with the Alfresco SDK 4.0. Before continuing, make sure that you have read and completed the tasks in the can help you to understand how to start developing with the Alfresco SDK 4.1. Before continuing, make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial. [Getting started](../getting-started.md) tutorial.
The structure of the project and the purpose of the files it contains vary according to the [Maven archetype](../mvn-archetypes.md) used to generate the project The structure of the project and the purpose of the files it contains vary according to the [Maven archetype](../mvn-archetypes.md) used to generate the project
@@ -33,7 +33,7 @@ itself. The following links provide detailed descriptions of the different proje
## Run script ## Run script
All the projects generated using the Alfresco SDK 4.0 archetypes provide a utility script to work with the project. This script is `run.sh` for Unix systems All the projects generated using the Alfresco SDK 4.1 archetypes provide a utility script to work with the project. This script is `run.sh` for Unix systems
and `run.bat` for Windows systems. and `run.bat` for Windows systems.
The execution of this script must be followed by a parameter that dictates the task to be executed in the project. The list of available tasks is: The execution of this script must be followed by a parameter that dictates the task to be executed in the project. The list of available tasks is:

View File

@@ -1,7 +1,7 @@
--- ---
Title: All-In-One project structure Title: All-In-One project structure
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# All-In-One project structure # All-In-One project structure
@@ -81,7 +81,8 @@ my-all-in-one-project
│ │ │ │ ├── service-context.xml │ │ │ │ ├── service-context.xml
│ │ │ │ └── webscript-context.xml │ │ │ │ └── webscript-context.xml
│ │ │ ├── messages │ │ │ ├── messages
│ │ │ │ ── content-model.properties │ │ │ │ ── content-model.properties
│ │ │ │ └── workflow-messages.properties
│ │ │ ├── model │ │ │ ├── model
│ │ │ │ ├── content-model.xml │ │ │ │ ├── content-model.xml
│ │ │ │ └── workflow-model.xml │ │ │ │ └── workflow-model.xml

View File

@@ -1,7 +1,7 @@
--- ---
Title: Platform JAR project structure Title: Platform JAR project structure
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-03-26 Last reviewed: 2019-10-18
--- ---
# Platform JAR project structure # Platform JAR project structure
@@ -64,7 +64,8 @@ my-platform-jar-project
│   │   └── webscript-context.xml │   │   └── webscript-context.xml
│   ├── log4j.properties │   ├── log4j.properties
│   ├── messages │   ├── messages
│   │   ── content-model.properties │   │   ── content-model.properties
│   │   └── workflow-messages.properties
│   ├── model │   ├── model
│   │   ├── content-model.xml │   │   ├── content-model.xml
│   │   └── workflow-model.xml │   │   └── workflow-model.xml

View File

@@ -1,7 +1,7 @@
--- ---
Title: Share JAR project structure Title: Share JAR project structure
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2019-01-15 Last reviewed: 2019-10-18
--- ---
# Share JAR project structure # Share JAR project structure

View File

@@ -1,3 +1,9 @@
---
Title: Working with an All-In-One project
Added: v4.0.0
Last reviewed: 2019-10-18
---
# Working with an All-In-One project # Working with an All-In-One project
Before you continue make sure that you have read and completed the tasks in the Before you continue make sure that you have read and completed the tasks in the
@@ -72,7 +78,7 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order: [INFO] Reactor Build Order:
[INFO] [INFO]
[INFO] AIO - SDK 4.0 [INFO] AIO - SDK 4.1
[INFO] Alfresco Platform/Repository JAR Module [INFO] Alfresco Platform/Repository JAR Module
[INFO] Alfresco Share JAR Module [INFO] Alfresco Share JAR Module
[INFO] Integration Tests Module [INFO] Integration Tests Module
@@ -82,7 +88,7 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary: [INFO] Reactor Summary:
[INFO] [INFO]
[INFO] AIO - SDK 4.0 ...................................... SUCCESS [ 0.680 s] [INFO] AIO - SDK 4.1 ...................................... SUCCESS [ 0.680 s]
[INFO] Alfresco Platform/Repository JAR Module ............ SUCCESS [ 5.461 s] [INFO] Alfresco Platform/Repository JAR Module ............ SUCCESS [ 5.461 s]
[INFO] Alfresco Share JAR Module .......................... SUCCESS [ 0.557 s] [INFO] Alfresco Share JAR Module .......................... SUCCESS [ 0.557 s]
[INFO] Integration Tests Module ........................... SUCCESS [ 0.900 s] [INFO] Integration Tests Module ........................... SUCCESS [ 0.900 s]

View File

@@ -1,3 +1,9 @@
---
Title: Working with a Platform (Repository) project
Added: v4.0.0
Last reviewed: 2019-10-18
---
# Working with a Platform (Repository) project # Working with a Platform (Repository) project
Before you continue make sure that you have read and completed the tasks in the Before you continue make sure that you have read and completed the tasks in the

View File

@@ -1,3 +1,9 @@
---
Title: Working with a Share project
Added: v4.0.0
Last reviewed: 2019-10-18
---
# Working with a Share project # Working with a Share project
Before you continue make sure that you have read and completed the tasks in the Before you continue make sure that you have read and completed the tasks in the