mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
29 Commits
alfresco-s
...
dependabot
Author | SHA1 | Date | |
---|---|---|---|
|
551ce8aa88 | ||
|
9a5e70f324 | ||
|
b57196f46e | ||
|
a565f66c76 | ||
|
b3808e3e8b | ||
|
3f51507ea7 | ||
|
0a082f3bfc | ||
|
35e2800858 | ||
|
4a56544cad | ||
|
9c2ac0c956 | ||
|
8d407356b7 | ||
|
42e5726313 | ||
|
9c28f38f9c | ||
|
1aff0f2a01 | ||
|
712eb22dd4 | ||
|
905f589169 | ||
|
b1139739b8 | ||
|
219389197a | ||
|
782740ef99 | ||
|
2ce90ecc93 | ||
|
b3a1dabf72 | ||
|
7928ae358b | ||
|
a204305226 | ||
|
0352e2fd07 | ||
|
af396f70ac | ||
|
8634cc1d37 | ||
|
a3a7e9f158 | ||
|
0d2c76cc0c | ||
|
a39f4248a2 |
99
.travis.yml
99
.travis.yml
@@ -1,10 +1,15 @@
|
||||
import:
|
||||
- source: Alfresco/alfresco-build-tools:.travis.docker_login.yml@v1.0.1
|
||||
- source: Alfresco/alfresco-build-tools:.travis.java.yml@v1.0.1
|
||||
- source: Alfresco/alfresco-build-tools:.travis.pre-commit.yml@v1.0.1
|
||||
- source: Alfresco/alfresco-build-tools:.travis.docker_login.yml@v1.1.5
|
||||
- source: Alfresco/alfresco-build-tools:.travis.docker_hub_login.yml@v1.1.5
|
||||
- source: Alfresco/alfresco-build-tools:.travis.java.yml@v1.1.5
|
||||
- source: Alfresco/alfresco-build-tools:.travis.pre-commit.yml@v1.1.5
|
||||
|
||||
dist: focal
|
||||
|
||||
jdk:
|
||||
- openjdk17
|
||||
- openjdk11
|
||||
|
||||
git:
|
||||
depth: false
|
||||
quiet: true
|
||||
@@ -14,7 +19,7 @@ branches:
|
||||
- master
|
||||
- /feature\/.*/
|
||||
- /fix\/.*/
|
||||
- sdk-4.2
|
||||
- sdk-4.5
|
||||
|
||||
stages:
|
||||
- name: test
|
||||
@@ -28,38 +33,74 @@ env:
|
||||
|
||||
jobs:
|
||||
include:
|
||||
|
||||
- name: "current version"
|
||||
- name: "current version Java 17"
|
||||
stage: test
|
||||
script:
|
||||
jdk: openjdk17
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD}
|
||||
|
||||
|
||||
- name: "current version Java 11"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD}
|
||||
|
||||
- name: "7.3 Enterprise Java 17"
|
||||
stage: test
|
||||
jdk: openjdk17
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-73-tests
|
||||
|
||||
- name: "7.3 Community Java 17"
|
||||
stage: test
|
||||
jdk: openjdk17
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-73-tests
|
||||
|
||||
- name: "7.3 Enterprise Java 11"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-73-tests
|
||||
|
||||
- name: "7.3 Community Java 11"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-73-tests
|
||||
|
||||
- name: "7.2 Enterprise"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-72-tests
|
||||
|
||||
- name: "7.2 Community"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-72-tests
|
||||
|
||||
- name: "7.1 Enterprise"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-71-tests
|
||||
|
||||
- name: "7.1 Community"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-71-tests
|
||||
|
||||
- name: "7.0 Enterprise"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-70-tests
|
||||
|
||||
|
||||
- name: "7.0 Community"
|
||||
stage: test
|
||||
jdk: openjdk11
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-70-tests
|
||||
|
||||
- name: "6.2 Enterprise"
|
||||
stage: test
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-62-tests
|
||||
|
||||
- name: "6.2 Community"
|
||||
stage: test
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-62-tests
|
||||
|
||||
- name: "6.1 Enterprise"
|
||||
stage: test
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Penterprise-61-tests
|
||||
|
||||
- name: "6.1 Community"
|
||||
stage: test
|
||||
script:
|
||||
- ${MAVEN_INSTALL_CMD} -Pcommunity-61-tests
|
||||
|
76
README.md
76
README.md
@@ -15,6 +15,9 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
|
||||
|
||||
## News
|
||||
|
||||
- 2022-10: Alfresco SDK 4.5.0 released
|
||||
- 2022-03: Alfresco SDK 4.4.0 released
|
||||
- 2021-10: Alfresco SDK 4.3.0 released
|
||||
- 2021-02: Alfresco SDK 4.2.0 released
|
||||
- 2019-10: Alfresco SDK 4.1.0 released
|
||||
- 2019-03: Alfresco SDK 4.0.0 released
|
||||
@@ -31,18 +34,54 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
|
||||
|
||||
## User Getting Started
|
||||
|
||||
### Important Notice about ACS 7.2
|
||||
|
||||
Please refer to https://github.com/Alfresco/alfresco-sdk/issues/635 to fix the Search Services 403 problem.
|
||||
|
||||
### Important Notice about ACS 7.1
|
||||
|
||||
#### Share Version Number
|
||||
|
||||
Since ACS 7.1, Share build pipeline has been refactored, and you now have to specify the internal
|
||||
Share version number, in addition to the version of the image, because they are not the same anymore.
|
||||
|
||||
This number can be located in the main pom.xml of the project used to build Share, hence:
|
||||
|
||||
- property `<alfresco-community-share.version>` of [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging/blob/7.1.0/pom.xml#L17) (Community)
|
||||
- property `<alfresco-enterprise-share.version>`of [acs-packaging](https://github.com/Alfresco/acs-packaging/blob/7.1.0.1/pom.xml#L18) (Enterprise)
|
||||
|
||||
So, if for example you want to use the community version of `7.1.0.1`, you can go on acs-community-packaging,
|
||||
open the `7.1.0.1` release tag, browse its files, open the pom.xml in the root,
|
||||
then copy the value of `<alfresco-community-share.version>`.
|
||||
|
||||
You'll then need to paste this value inside the SDK property `<alfresco.share.version>`.
|
||||
|
||||
#### Alternate Docker User
|
||||
|
||||
- ACS 6 used to run everything as `root`.
|
||||
- ACS 7 introduced an `alfresco` user, that should've been used after the `root` user completed its configurations in the Dockerfile.
|
||||
|
||||
Due to a bug, this wasn't working in earlier SDKs, and has been fixed in SDK 4.3.
|
||||
|
||||
In order to be retro-compatible with ACS 6, however, the user is specified in the SDK property `<alfresco.platform.docker.user>`.
|
||||
|
||||
Hence, its values (already in place) are `root` for ACS 6, and `alfresco` for ACS 7+.
|
||||
|
||||
#### Log file location
|
||||
|
||||
To prevent writing permission problems when logging with the non-root user,
|
||||
the `alfresco.log` file has also been moved to a more appropriate location (Tomcat logs instead of Tomcat root).
|
||||
|
||||
### Important Notice about Version Numbers
|
||||
|
||||
In Q4 2020, Alfresco Platform has undergone a major structural refactoring.
|
||||
|
||||
Depending on the Platform version desired, you might need to use SDK 4.1 instead of SDK 4.2.
|
||||
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3 or SDK 4.4 instead of SDK 4.5.
|
||||
|
||||
- For Enterprise and Community versions of 7.x, SDK 4.2 must be used
|
||||
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.2 must be used
|
||||
- For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used
|
||||
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used
|
||||
- For Enterprise and Community versions of 6.0.x, 6.1.x, 6.2.x older than November 2020, SDK 4.1 must be used
|
||||
|
||||
A more precise compatibility matrix, with specific version numbers, is expected to be provided soon.
|
||||
|
||||
It's also important to remember that:
|
||||
|
||||
- Community Platform versions are built by [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging)
|
||||
@@ -51,20 +90,23 @@ It's also important to remember that:
|
||||
- Enterprise Docker images are published on *Quay.io*
|
||||
|
||||
### Latest Documentation
|
||||
To get started with **Alfresco SDK 4.2.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||
To get started with **Alfresco SDK 4.5.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||
|
||||
#### Documentation about Previous Versions
|
||||
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||
| ------------- |:-------------:| :-----:|:-----|
|
||||
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.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/blob/sdk-4.1/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.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.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/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 Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||
|-------------|:----------------------------------------------:|:--------------------------------------:|:-----|
|
||||
| SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.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/blob/sdk-4.1/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.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.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/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 |
|
||||
|
||||
## 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/).
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Alfresco AIO Project - SDK 4.2
|
||||
# Alfresco AIO Project - SDK 4.5
|
||||
|
||||
This is an All-In-One (AIO) project for Alfresco SDK 4.2.
|
||||
This is an All-In-One (AIO) project for Alfresco SDK 4.5.
|
||||
|
||||
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Integration Tests Module</name>
|
||||
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.2</description>
|
||||
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.5</description>
|
||||
<packaging>jar</packaging> <!-- Note. this just runs Integration Tests, but it needs to be a JAR otherwise
|
||||
nothing is compiled (i.e. you cannot set it to pom) -->
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
FROM ${docker.acs.image}:${alfresco.platform.version}
|
||||
|
||||
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||
ARG USERNAME=${alfresco.platform.docker.user}
|
||||
|
||||
USER root
|
||||
|
||||
|
@@ -62,7 +62,8 @@ db.driver=org.postgresql.Driver
|
||||
index.subsystem.name=solr6
|
||||
solr.host=${rootArtifactId}-ass
|
||||
solr.port=8983
|
||||
solr.secureComms=none
|
||||
solr.secureComms=secret
|
||||
solr.sharedSecret=secret
|
||||
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
|
@@ -14,7 +14,7 @@ log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t]
|
||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=alfresco.log
|
||||
log4j.appender.File.File=logs/alfresco.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco Platform/Repository JAR Module</name>
|
||||
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.2
|
||||
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.5
|
||||
</description>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM ${docker.share.image}:${alfresco.share.version}
|
||||
FROM ${docker.share.image}:${alfresco.share.docker.version}
|
||||
|
||||
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||
|
||||
@@ -13,4 +13,4 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
|
||||
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
|
||||
|
||||
COPY log4j.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||
|
@@ -39,7 +39,7 @@
|
||||
|
||||
<!--
|
||||
Disable CSRF completely for now
|
||||
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
|
||||
It seems Share has issues on 4.x with the embedded tomcat and CSRFPolicy
|
||||
-->
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
|
@@ -5,7 +5,7 @@
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco Share JAR Module</name>
|
||||
<packaging>jar</packaging>
|
||||
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.2</description>
|
||||
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.5</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
|
@@ -20,6 +20,11 @@ services:
|
||||
context: ../../../${rootArtifactId}-platform-docker/target
|
||||
environment:
|
||||
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
|
||||
JAVA_OPTS: "
|
||||
-Dsolr.secureComms=secret
|
||||
-Dsolr.sharedSecret=secret
|
||||
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||
"
|
||||
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||
ports:
|
||||
- "${symbol_dollar}{acs.port}:8080"
|
||||
@@ -40,18 +45,29 @@ services:
|
||||
volumes:
|
||||
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
|
||||
${rootArtifactId}-ass:
|
||||
image: alfresco/alfresco-search-services:1.2.0
|
||||
image: alfresco/alfresco-search-services:2.0.3
|
||||
environment:
|
||||
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
|
||||
SOLR_ALFRESCO_PORT: 8080
|
||||
SOLR_SOLR_HOST: ${rootArtifactId}-ass
|
||||
SOLR_SOLR_PORT: 8983
|
||||
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
||||
ALFRESCO_SECURE_COMMS: "secret"
|
||||
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
|
||||
ports:
|
||||
- "8983:8983"
|
||||
volumes:
|
||||
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
|
||||
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
|
||||
${rootArtifactId}-activemq:
|
||||
image: alfresco/alfresco-activemq:5.16.1
|
||||
mem_limit: 1g
|
||||
ports:
|
||||
- 8161:8161 # Web Console
|
||||
- 5672:5672 # AMQP
|
||||
- 61616:61616 # OpenWire
|
||||
- 61613:61613 # STOMP
|
||||
|
||||
volumes:
|
||||
${rootArtifactId}-acs-volume:
|
||||
external: true
|
||||
|
@@ -5,8 +5,8 @@
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
<name>AIO - SDK 4.2</name>
|
||||
<description>All-In-One (AIO) project for SDK 4.2</description>
|
||||
<name>AIO - SDK 4.5</name>
|
||||
<description>All-In-One (AIO) project for SDK 4.5</description>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<prerequisites>
|
||||
@@ -23,7 +23,9 @@
|
||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
|
||||
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
|
||||
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
|
||||
|
||||
<!-- Docker images -->
|
||||
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||
@@ -31,8 +33,6 @@
|
||||
|
||||
<keystore.settings>@@keystore.settings@@</keystore.settings>
|
||||
|
||||
<activemq.version>@@activemq.version@@</activemq.version>
|
||||
|
||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||
<jrebel.version>1.1.8</jrebel.version>
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-all</artifactId>
|
||||
<version>1.9.5</version>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -84,13 +84,6 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-all</artifactId>
|
||||
<version>${activemq.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
@@ -404,7 +397,7 @@
|
||||
<profile>
|
||||
<id>java11</id>
|
||||
<activation>
|
||||
<jdk>[11.0,)</jdk>
|
||||
<jdk>[11.0,17)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
@@ -419,6 +412,24 @@
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>java17</id>
|
||||
<activation>
|
||||
<jdk>[17,)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.0</version>
|
||||
<configuration>
|
||||
<release>17</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<!--
|
||||
@@ -442,6 +453,10 @@
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-internal</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Alfresco ACS JAR Module - SDK 4.2
|
||||
# Alfresco ACS JAR Module - SDK 4.5
|
||||
|
||||
This is an ACS project for Alfresco SDK 4.2.
|
||||
This is an ACS project for Alfresco SDK 4.5.
|
||||
|
||||
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
|
||||
|
||||
|
@@ -16,6 +16,11 @@ services:
|
||||
context: ../../../target
|
||||
environment:
|
||||
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
|
||||
JAVA_OPTS: "
|
||||
-Dsolr.secureComms=secret
|
||||
-Dsolr.sharedSecret=secret
|
||||
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||
"
|
||||
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||
ports:
|
||||
- "${symbol_dollar}{acs.port}:8080"
|
||||
@@ -36,18 +41,29 @@ services:
|
||||
volumes:
|
||||
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
|
||||
${rootArtifactId}-ass:
|
||||
image: alfresco/alfresco-search-services:1.2.0
|
||||
image: alfresco/alfresco-search-services:2.0.3
|
||||
environment:
|
||||
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
|
||||
SOLR_ALFRESCO_PORT: 8080
|
||||
SOLR_SOLR_HOST: ${rootArtifactId}-ass
|
||||
SOLR_SOLR_PORT: 8983
|
||||
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
||||
ALFRESCO_SECURE_COMMS: "secret"
|
||||
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
|
||||
ports:
|
||||
- "8983:8983"
|
||||
volumes:
|
||||
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
|
||||
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
|
||||
${rootArtifactId}-activemq:
|
||||
image: alfresco/alfresco-activemq:5.16.1
|
||||
mem_limit: 1g
|
||||
ports:
|
||||
- 8161:8161 # Web Console
|
||||
- 5672:5672 # AMQP
|
||||
- 61616:61616 # OpenWire
|
||||
- 61613:61613 # STOMP
|
||||
|
||||
volumes:
|
||||
${rootArtifactId}-acs-volume:
|
||||
external: true
|
||||
|
@@ -19,7 +19,9 @@
|
||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
|
||||
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
|
||||
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
|
||||
|
||||
<!-- Docker images -->
|
||||
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||
@@ -27,8 +29,6 @@
|
||||
|
||||
<keystore.settings>@@keystore.settings@@</keystore.settings>
|
||||
|
||||
<activemq.version>@@activemq.version@@</activemq.version>
|
||||
|
||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||
<jrebel.version>1.1.8</jrebel.version>
|
||||
|
||||
@@ -55,14 +55,13 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-all</artifactId>
|
||||
<version>1.9.5</version>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.5.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
@@ -81,13 +80,6 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.activemq</groupId>
|
||||
<artifactId>activemq-all</artifactId>
|
||||
<version>${activemq.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
@@ -489,7 +481,7 @@
|
||||
<profile>
|
||||
<id>java11</id>
|
||||
<activation>
|
||||
<jdk>[11.0,)</jdk>
|
||||
<jdk>[11.0, 17)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
@@ -504,6 +496,24 @@
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>java17</id>
|
||||
<activation>
|
||||
<jdk>[17,)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.0</version>
|
||||
<configuration>
|
||||
<release>17</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<!--
|
||||
@@ -527,6 +537,10 @@
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-internal</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
|
@@ -1,6 +1,7 @@
|
||||
FROM ${docker.acs.image}:${alfresco.platform.version}
|
||||
|
||||
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||
ARG USERNAME=${alfresco.platform.docker.user}
|
||||
|
||||
USER root
|
||||
|
||||
|
@@ -62,7 +62,8 @@ db.driver=org.postgresql.Driver
|
||||
index.subsystem.name=solr6
|
||||
solr.host=${rootArtifactId}-ass
|
||||
solr.port=8983
|
||||
solr.secureComms=none
|
||||
solr.secureComms=secret
|
||||
solr.sharedSecret=secret
|
||||
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
@@ -84,4 +85,4 @@ messaging.broker.url=vm://localhost?broker.persistent=false
|
||||
# Disable ATS
|
||||
transform.service.enabled=false
|
||||
local.transform.service.enabled=false
|
||||
legacy.transform.service.enabled=false
|
||||
legacy.transform.service.enabled=false
|
||||
|
@@ -14,7 +14,7 @@ log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t]
|
||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=alfresco.log
|
||||
log4j.appender.File.File=logs/alfresco.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
|
@@ -14,7 +14,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# Alfresco Share JAR Module - SDK 4.2
|
||||
# Alfresco Share JAR Module - SDK 4.5
|
||||
|
||||
This is a Share project for Alfresco SDK 4.2.
|
||||
This is a Share project for Alfresco SDK 4.5.
|
||||
|
||||
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
|
||||
|
||||
|
@@ -24,7 +24,8 @@ services:
|
||||
# -Ddb.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco
|
||||
# -Dsolr.host=${rootArtifactId}-ass
|
||||
# -Dsolr.port=8983
|
||||
# -Dsolr.secureComms=none
|
||||
# -Dsolr.secureComms=secret
|
||||
# -Dsolr.sharedSecret=secret
|
||||
# -Dsolr.base.url=/solr
|
||||
# -Dindex.subsystem.name=solr6
|
||||
# -Dcsrf.filter.enabled=false
|
||||
@@ -52,13 +53,15 @@ services:
|
||||
# volumes:
|
||||
# - ${rootArtifactId}-db-volume:/var/lib/postgresql/data
|
||||
# ${rootArtifactId}-ass:
|
||||
# image: alfresco/alfresco-search-services:1.2.0
|
||||
# image: alfresco/alfresco-search-services:2.0.3
|
||||
# environment:
|
||||
# SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
|
||||
# SOLR_ALFRESCO_PORT: 8080
|
||||
# SOLR_SOLR_HOST: ${rootArtifactId}-ass
|
||||
# SOLR_SOLR_PORT: 8983
|
||||
# SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
||||
# ALFRESCO_SECURE_COMMS: "secret"
|
||||
# JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
|
||||
# ports:
|
||||
# - "8983:8983"
|
||||
# volumes:
|
||||
|
@@ -19,7 +19,9 @@
|
||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
|
||||
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
|
||||
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
|
||||
|
||||
<!-- Docker images -->
|
||||
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||
@@ -366,7 +368,7 @@
|
||||
<profile>
|
||||
<id>java11</id>
|
||||
<activation>
|
||||
<jdk>[11.0,)</jdk>
|
||||
<jdk>[11.0,17)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
@@ -381,6 +383,24 @@
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>java17</id>
|
||||
<activation>
|
||||
<jdk>[17,)</jdk>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.0</version>
|
||||
<configuration>
|
||||
<release>17</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<!--
|
||||
@@ -404,6 +424,10 @@
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-internal</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
|
@@ -1,4 +1,4 @@
|
||||
FROM ${docker.share.image}:${alfresco.share.version}
|
||||
FROM ${docker.share.image}:${alfresco.share.docker.version}
|
||||
|
||||
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||
|
||||
@@ -13,4 +13,4 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
|
||||
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
|
||||
|
||||
COPY log4j.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||
|
@@ -39,7 +39,7 @@
|
||||
|
||||
<!--
|
||||
Disable CSRF completely for now
|
||||
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
|
||||
It seems Share has issues on 4.x with the embedded tomcat and CSRFPolicy
|
||||
-->
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -1,11 +1,11 @@
|
||||
---
|
||||
Title: Alfresco SDK 4.2
|
||||
Title: Alfresco SDK 4.5
|
||||
Added: v3.0.0
|
||||
Last reviewed: 2021-02-09
|
||||
Last reviewed: 2022-09-22
|
||||
---
|
||||
# Alfresco SDK 4.2
|
||||
# Alfresco SDK 4
|
||||
|
||||
Alfresco SDK 4.2 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.x 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.
|
||||
|
||||
For earlier releases of the Alfresco SDK, see the Previous versions of [http://docs.alfresco.com](http://docs.alfresco.com).
|
||||
@@ -14,22 +14,22 @@ The Alfresco Software Development Kit (Alfresco SDK) is a fundamental tool provi
|
||||
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).
|
||||
|
||||
Alfresco SDK 4.2 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.x 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)
|
||||
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.2 is a minor update to the SDK and provides support for Alfresco 7.0.x.
|
||||
Alfresco SDK 4.5 is a minor update to the SDK and provides support for Alfresco 7.3.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
|
||||
previous releases of the SDK.
|
||||
|
||||
If you have existing projects that you wish to upgrade to SDK 4.2.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.x, the recommended approach is to generate a new project from our archetypes and move your
|
||||
code into place.
|
||||
|
||||
## Documentation Content
|
||||
|
||||
* [What's new?](whats-new.md)
|
||||
* [Getting started with Alfresco SDK 4.2](getting-started.md)
|
||||
* [Getting started with Alfresco SDK 4](getting-started.md)
|
||||
* [Alfresco SDK Maven archetypes](mvn-archetypes.md)
|
||||
* [Working with generated projects](working-with-generated-projects/README.md)
|
||||
* [All-In-One project structure](working-with-generated-projects/structure-aio.md)
|
||||
|
@@ -5,7 +5,7 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# 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.2 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.x 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
|
||||
modules can easily be deployed as JARs.
|
||||
|
||||
@@ -55,7 +55,7 @@ to your needs.
|
||||
|
||||
## Installing AMPs with the SDK
|
||||
|
||||
The projects created from the Alfresco SDK 4.2 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.x 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.
|
||||
|
||||
### All-In-One project
|
||||
@@ -237,7 +237,7 @@ include *.amp in the copy-and-filter-docker-resources-non-filtered
|
||||
## 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
|
||||
projects generated using the Alfresco SDK 4.2 archetypes doesn't specify any concrete order applying the AMPs to the ACS/Share installation.
|
||||
projects generated using the Alfresco SDK 4.x 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
|
||||
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
|
||||
|
@@ -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.
|
||||
|
||||
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.2](../../getting-started.md) to learn how to generate it in a few easy steps.
|
||||
[Getting started with Alfresco SDK 4](../../getting-started.md) to learn how to generate it in a few easy steps.
|
||||
|
@@ -5,7 +5,7 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# Remote debugging using Eclipse
|
||||
|
||||
All the projects generated using the Alfresco SDK 4.2 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.x 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.
|
||||
|
||||
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`.
|
||||
|
||||
This is a sample webscript generated in every project created using SDK 4.2 and the platform artifact.
|
||||
This is a sample webscript generated in every project created using SDK 4.x and the platform artifact.
|
||||
|
||||

|
||||
|
||||
|
@@ -5,7 +5,7 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# Remote debugging using IntelliJ
|
||||
|
||||
All the projects generated using the Alfresco SDK 4.2 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.x 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.
|
||||
|
||||
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`.
|
||||
|
||||
This is a sample webscript generated in every project created using SDK 4.2 and the platform artifact.
|
||||
This is a sample webscript generated in every project created using SDK 4.x and the platform artifact.
|
||||
|
||||

|
||||
|
||||
|
@@ -8,7 +8,7 @@ Last reviewed: 2021-02-09
|
||||
[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).
|
||||
|
||||
A prerequisite for this tutorial is to have a project created with the Alfresco SDK 4.2, 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, 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.
|
||||
|
||||
As an alternative to the HotSwapAgent you can also try out JRebel. It has more features but isn't free.
|
||||
@@ -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
|
||||
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.2, 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, 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.
|
||||
|
||||
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`.
|
||||
|
||||
This is a sample webscript generated in every project created using SDK 4.2 and the platform artifact.
|
||||
This is a sample webscript generated in every project created using SDK 4.x and the platform artifact.
|
||||
|
||||

|
||||
|
||||
|
@@ -8,7 +8,7 @@ Last reviewed: 2019-10-18
|
||||
[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).
|
||||
|
||||
A prerequisite to this tutorial is having an Alfresco project created with Alfresco SDK 4.2, 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, 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.
|
||||
|
||||
An open source and free of charge alternative to JRebel is HotSwapAgent. For more details, see the [HotSwapAgent website](http://hotswapagent.org/index.html).
|
||||
|
@@ -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.
|
||||
|
||||
The Alfresco SDK 4.2 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.x 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.
|
||||
|
||||
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.2 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.x 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.
|
||||
* 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.
|
||||
|
@@ -5,7 +5,7 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# How to run SDK's integration tests
|
||||
|
||||
Running the integration tests of a project generated from the Alfresco SDK 4.2 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.x archetypes is pretty easy. Let's distinguish different cases of executing the
|
||||
integration tests.
|
||||
|
||||
## Command line
|
||||
|
@@ -36,7 +36,7 @@ or set the Java system property `acs.endpoint.path`.
|
||||
|
||||
## 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.2 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.x 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
|
||||
module using the `maven-dependency-plugin`. The configuration is done in the file `PROJECT_ARTEFACTID-platform-docker/pom.xml`:
|
||||
|
@@ -5,7 +5,7 @@ Last reviewed: 2019-10-18
|
||||
---
|
||||
# Switching Alfresco Content Services database
|
||||
|
||||
By default, the projects generated making use of the archetypes provided by the Alfresco SDK 4 are pre-configured to work with a specific database, which is
|
||||
By default, the projects generated making use of the archetypes provided by the Alfresco SDK 4.x are pre-configured to work with a specific database, which is
|
||||
PostgreSQL.
|
||||
|
||||
Anyway, ACS is developed and tested to [support a wide range of platforms and languages](https://www.alfresco.com/services/subscription/supported-platforms).
|
||||
|
@@ -8,7 +8,7 @@ Last reviewed: 2021-02-09
|
||||
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.
|
||||
|
||||
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
|
||||
By default, SDK 4.x 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
|
||||
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
|
||||
|
||||
Starting from a newly created Alfresco SDK 4.2 project (All-In-One, Platform JAR, or Share JAR), let’s replace the two properties with the following ones.
|
||||
Starting from a newly created Alfresco SDK 4.x project (All-In-One, Platform JAR, or Share JAR), let’s replace the two properties with the following ones.
|
||||
|
||||
1. Open the pom.xml in your generated project.
|
||||
|
||||
@@ -60,7 +60,7 @@ about wrong JDK versions.
|
||||
|
||||
## Switch to Alfresco version 6.1.x or 6.2.x
|
||||
|
||||
Starting from a newly created Alfresco SDK 4.2 project (All-In-One, Platform JAR, or Share JAR), let’s replace the two properties with the following ones.
|
||||
Starting from a newly created Alfresco SDK 4.x project (All-In-One, Platform JAR, or Share JAR), let’s replace the two properties with the following ones.
|
||||
|
||||
1. Open the pom.xml in your generated project.
|
||||
|
||||
|
@@ -3,13 +3,13 @@ Title: Upgrading
|
||||
Added: v4.0.0
|
||||
Last reviewed: 2019-01-29
|
||||
---
|
||||
# Upgrading an SDK 3.0 project to SDK 4.2
|
||||
# Upgrading an SDK 3.0 project to SDK 4
|
||||
|
||||
In these instructions, "base" refers to a freshly instantiated SDK 4.2 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.x and "target" refers to the SDK 3.0.1 project that is being upgraded.
|
||||
|
||||
## Download a base
|
||||
|
||||
Download or instantiate an SDK 4.2 project to use as a base for copying files.
|
||||
Download or instantiate an SDK 4.x 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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
1. Copy the entire `<properties>` element from the base 4.2 pom.xml into the target 3.0 pom.xml, replacing the existing one completely.
|
||||
1. Copy the entire `<properties>` element from the base 4.x 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
1. Completely replace the pom.xml file with the pom.xml file from the 4.2 pom.xml file under integration-tests.
|
||||
1. Completely replace the pom.xml file with the pom.xml file from the 4.x 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Smartly merge the pom.xml file from the 4.2 platform-jar module into the existing platform-jar module pom.xml file.
|
||||
Smartly merge the pom.xml file from the 4.x platform-jar module into the existing platform-jar module pom.xml file.
|
||||
|
||||
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
|
||||
|
||||
Smartly merge the pom.xml file from the 4.2 share-jar module into the existing share-jar module pom.xml file.
|
||||
Smartly merge the pom.xml file from the 4.x share-jar module into the existing share-jar module pom.xml file.
|
||||
|
||||
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.
|
||||
|
||||
Remove the spring-surf-api dependency from the 4.2 share-jar module. Remove:
|
||||
Remove the spring-surf-api dependency from the 4.x share-jar module. Remove:
|
||||
|
||||
```
|
||||
<dependency>
|
||||
|
@@ -80,7 +80,7 @@ You'll need to update the following settings in the `pom.xml` file:
|
||||
<alfresco.share.version>6.2.0</alfresco.share.version>
|
||||
```
|
||||
|
||||
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
|
||||
Making use of the Alfresco SDK 4.x 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.
|
||||
|
||||
## Purging the project data and running the project
|
||||
|
@@ -1,15 +1,15 @@
|
||||
---
|
||||
Title: Getting started with Alfresco SDK 4.2
|
||||
Title: Getting started with Alfresco SDK 4.x
|
||||
Added: v2.1.1
|
||||
Last reviewed: 2021-02-09
|
||||
Last reviewed: 2021-09-30
|
||||
---
|
||||
# Getting started with Alfresco SDK 4.2
|
||||
# Getting started with Alfresco SDK 4.x
|
||||
|
||||
Use these instructions to get started with using Alfresco SDK 4.2.
|
||||
Use these instructions to get started with using Alfresco SDK 4.x.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
There are a number of software requirements for using Alfresco SDK 4.2.
|
||||
There are a number of software requirements for using Alfresco SDK 4.x.
|
||||
* Java Development Kit (JDK) - Version 11
|
||||
* Maven - Version 3.3
|
||||
* Docker - Latest stable version
|
||||
@@ -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
|
||||
the most common pitfall.
|
||||
|
||||
Alfresco SDK 4.2 requires Maven 3.3.0+, but you are recommended to download the latest version.
|
||||
Alfresco SDK 4.x 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.
|
||||
|
||||
@@ -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
|
||||
as an option, however these archetypes are not part of Alfresco SDK 4.2.
|
||||
as an option, however these archetypes are not part of Alfresco SDK 4.x.
|
||||
|
||||
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-share-jar-archetype`
|
||||
|
||||
3. Choose the latest version, such as 4.2.0.
|
||||
3. Choose the latest version, such as 4.5.0.
|
||||
|
||||
```
|
||||
Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
|
||||
@@ -137,6 +137,9 @@ Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
|
||||
13: 4.0.0
|
||||
14: 4.1.0
|
||||
15: 4.2.0
|
||||
16: 4.3.0
|
||||
17: 4.4.0
|
||||
18: 4.5.0
|
||||
```
|
||||
|
||||
4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below:
|
||||
@@ -165,7 +168,7 @@ If everything has been configured correctly, you should see something similar to
|
||||
|
||||
```
|
||||
[INFO] ----------------------------------------------------------------------------
|
||||
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.2.0-SNAPSHOT
|
||||
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.5.0
|
||||
[INFO] ----------------------------------------------------------------------------
|
||||
[INFO] Parameter: groupId, Value: com.acme
|
||||
[INFO] Parameter: artifactId, Value: my-all-in-one
|
||||
@@ -192,7 +195,7 @@ If everything has been configured correctly, you should see something similar to
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
```
|
||||
|
||||
7. You have successfully generated your first SDK 4.2 project.
|
||||
7. You have successfully generated your first SDK 4.x 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.
|
||||
|
||||
|
@@ -5,17 +5,17 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# Alfresco SDK Maven archetypes
|
||||
|
||||
The Alfresco SDK 4.2 comes with a number of Maven archetypes that can be used to generate Alfresco extension projects.
|
||||
The Alfresco SDK 4.x 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.2](getting-started.md).
|
||||
For more details, see [Getting started with Alfresco SDK 4](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)
|
||||
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
|
||||
it's valid in particular when using Alfresco SDK 4.2.
|
||||
it's valid in particular when using Alfresco SDK 4.
|
||||
|
||||
In this section we are going to introduce all the available archetypes in Alfresco SDK 4.2, 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.2 can offer to developers, in terms of
|
||||
In this section we are going to introduce all the available archetypes in Alfresco SDK 4, 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.x can offer to developers, in terms of
|
||||
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.
|
||||
|
@@ -9,7 +9,7 @@ The Maven Alfresco SDK is designed to work well with Eclipse. This support inclu
|
||||
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
|
||||
don't have a project already, follow the steps in [Getting started with Alfresco SDK 4.2](../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.x](../getting-started.md) to learn how to quickly generate it in a few
|
||||
easy steps.
|
||||
|
||||
## Importing the Alfresco project into Eclipse
|
||||
|
@@ -9,7 +9,7 @@ The Maven Alfresco SDK is designed to work well with Eclipse. This support inclu
|
||||
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
|
||||
don't have a project already, follow the steps in [Getting started with Alfresco SDK 4.2](../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.x](../getting-started.md) to learn how to quickly generate it in a few
|
||||
easy steps.
|
||||
|
||||
## Importing the Alfresco project into Intellij IDEA
|
||||
|
@@ -5,7 +5,7 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# Troubleshooting
|
||||
|
||||
This article describes a list of common issues with the projects generated from the Alfresco SDK 4.2 archetypes and the way to troubleshoot them.
|
||||
This article describes a list of common issues with the projects generated from the Alfresco SDK 4.x archetypes and the way to troubleshoot them.
|
||||
|
||||
* [Incorrect JDK version](#incorrect-jdk-version)
|
||||
* [Containers synchronization](#containers-synchronization)
|
||||
@@ -157,7 +157,7 @@ Transformation Service (ATS) is not working. ATS is required to generate the con
|
||||
|
||||
### Solution
|
||||
|
||||
By default, ATS is not included in the basic configuration of the projects generated making use of the Alfresco SDK 4 archetypes.
|
||||
By default, ATS is not included in the basic configuration of the projects generated making use of the Alfresco SDK 4.x 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).
|
||||
|
@@ -10,8 +10,8 @@ Alfresco Share 6.
|
||||
|
||||
This was a mayor release oriented to support Alfresco 6, so it is not compatible with previous versions of the SDK.
|
||||
|
||||
Alfresco SDK 4.2 extends the support to Alfresco 7, while still being compatible with Alfresco 6 Enterprise.
|
||||
Alfresco 6 Community is not officially supported in SDK 4.2, but is also likely to work. SDK 4.1 can be used for that, though.
|
||||
Alfresco SDK 4.4 extends the support to Alfresco 7.2.
|
||||
Use an older SDK version for Alfresco 6.
|
||||
|
||||
## Embracing containers and Docker
|
||||
|
||||
@@ -64,6 +64,13 @@ environment can be more similar to a real one, including whatever other service
|
||||
|
||||
Alfresco SDK 4.1 provides support for Alfresco 6.2.x.
|
||||
|
||||
## Support for Alfresco 7.0.x
|
||||
## Support for Alfresco 7.0.x, 7.1.x, and 7.2.x
|
||||
|
||||
Alfresco SDK 4.2 provides support for Alfresco 7.0.x.
|
||||
Alfresco SDK 4.4 provides support for Alfresco 7.0.x, 7.1.x, and 7.2.x.
|
||||
|
||||
## Support for Java 17
|
||||
[Java 17](https://openjdk.java.net/projects/jdk/17/) is the latest stable long term (8 year support) version after Java 11. Alfresco 7.3.x already offers
|
||||
support for this version of the Java platform.
|
||||
|
||||
Alfresco SDK 4.5 has been modified to add support for Java 17 as well. This way, if you're working as a developer in customisations for Alfresco 7.3.x you can
|
||||
now use SDK 4.5 + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17.
|
@@ -5,10 +5,10 @@ Last reviewed: 2021-02-09
|
||||
---
|
||||
# Working with generated projects
|
||||
|
||||
After generating a project using one of the Alfresco SDK 4.2 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.x 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 [Docker](http://docs.alfresco.com/6.0/concepts/master-deploy.html).
|
||||
Due to that, the projects generated using the Alfresco SDK 4.2 archetypes set up their local environment making an intensive use of Docker and Docker compose
|
||||
Due to that, the projects generated using the Alfresco SDK 4.x archetypes set up their local environment making an intensive use of Docker and Docker compose
|
||||
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
|
||||
@@ -21,7 +21,7 @@ a great quantity of training resources about [Docker](https://docs.docker.com/ge
|
||||
## 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
|
||||
can help you to understand how to start developing with the Alfresco SDK 4.2. 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.x. Before continuing, make sure that you have read and completed the tasks in the
|
||||
[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
|
||||
@@ -33,7 +33,7 @@ itself. The following links provide detailed descriptions of the different proje
|
||||
|
||||
## Run script
|
||||
|
||||
All the projects generated using the Alfresco SDK 4.2 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.x archetypes provide a utility script to work with the project. This script is `run.sh` for Unix 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:
|
||||
|
@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
|
||||
|
||||
# Working with an All-In-One project
|
||||
|
||||
Before you continue make sure that you have read and completed the tasks in the
|
||||
[Getting started](../getting-started.md) tutorial to generate an All-In-One (AIO) project,
|
||||
which means selecting the `org.alfresco.maven.archetype:alfresco-allinone-archetype`
|
||||
Maven archetype when generating the project. The following information assumes that
|
||||
Before you continue make sure that you have read and completed the tasks in the
|
||||
[Getting started](../getting-started.md) tutorial to generate an All-In-One (AIO) project,
|
||||
which means selecting the `org.alfresco.maven.archetype:alfresco-allinone-archetype`
|
||||
Maven archetype when generating the project. The following information assumes that
|
||||
the AIO project was generated with the name `my-all-in-one-project`.
|
||||
|
||||
- [Introduction](#introduction)
|
||||
@@ -21,23 +21,23 @@ the AIO project was generated with the name `my-all-in-one-project`.
|
||||
- [Stopping the project](#stopping-the-project)
|
||||
|
||||
## Introduction
|
||||
An AIO SDK project is used to build extensions for both [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html)
|
||||
An AIO SDK project is used to build extensions for both [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html)
|
||||
and [Alfresco Share UI](https://docs.alfresco.com/6.2/concepts/dev-extensions-share.html). The runtime environment
|
||||
for ACS is Docker so not only is this project building the source code for your extensions but also the
|
||||
custom Docker images for the Alfresco Repository and Alfresco Share. The custom Docker images includes the
|
||||
JARs, or AMPs, with your extension code.
|
||||
for ACS is Docker so not only is this project building the source code for your extensions but also the
|
||||
custom Docker images for the Alfresco Repository and Alfresco Share. The custom Docker images includes the
|
||||
JARs, or AMPs, with your extension code.
|
||||
|
||||
Looking into the generated AIO parent project we can see that we got a Docker Compose file (**my-all-in-one-project/docker/docker-compose.yml**)
|
||||
that will be used to build custom Docker images and run the project, one sub-project called `my-all-in-one-project-platform` that will be
|
||||
Looking into the generated AIO parent project we can see that we got a Docker Compose file (**my-all-in-one-project/docker/docker-compose.yml**)
|
||||
that will be used to build custom Docker images and run the project, one sub-project called `my-all-in-one-project-platform` that will be
|
||||
used to build Repository customizations, and one sub-project called `my-all-in-one-project-share` that can be used to build Alfresco Share UI customizations.
|
||||
|
||||
There are also the `my-all-in-one-project-platform-docker` and `my-all-in-one-project-share-docker` projects that are
|
||||
used to assemble (aggregate) all the Repository and Share extensions
|
||||
(there are usually more than one of each in a bigger project) and then build the custom Docker images with the
|
||||
There are also the `my-all-in-one-project-platform-docker` and `my-all-in-one-project-share-docker` projects that are
|
||||
used to assemble (aggregate) all the Repository and Share extensions
|
||||
(there are usually more than one of each in a bigger project) and then build the custom Docker images with the
|
||||
extension(s) applied.
|
||||
|
||||
The Repository and Share extensions that are aggregated can either be extensions that you develop locally or extensions
|
||||
that are available in a Maven repository somewhere.
|
||||
The Repository and Share extensions that are aggregated can either be extensions that you develop locally or extensions
|
||||
that are available in a Maven repository somewhere.
|
||||
|
||||
## Configuration properties
|
||||
There are a number of properties that we can customise when we run the Alfresco SDK project.
|
||||
@@ -62,12 +62,12 @@ When you first start out you don't need to change any of these properties, just
|
||||
|
||||
## Building and running the project
|
||||
The first thing you need to do before you can run anything is to build the custom ACS Docker images with the custom extensions.
|
||||
We can build images and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
|
||||
We can build images and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
|
||||
(on Windows use the `run.bat build_start` script instead).
|
||||
|
||||
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
|
||||
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
|
||||
following ports are free: 8180 (Share), 8080 (Alfresco Repo), 9898 (Share Debug), 8888 (Alfresco Repo Debug), 5555 (Postgres).
|
||||
If you want to change the ports see the properties section of **my-all-in-one-project/pom.xml**. This project file also
|
||||
If you want to change the ports see the properties section of **my-all-in-one-project/pom.xml**. This project file also
|
||||
contains the versions of Alfresco Repository and Alfresco Share that will be used.
|
||||
|
||||
```
|
||||
@@ -77,8 +77,8 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
|
||||
[WARNING] The project com.example:my-all-in-one-project:pom:1.0-SNAPSHOT uses prerequisites which is only intended for maven-plugin projects but not for non maven-plugin projects. For such purposes you should use the maven-enforcer-plugin. See https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
[INFO] Reactor Build Order:
|
||||
[INFO]
|
||||
[INFO] AIO - SDK 4.2
|
||||
[INFO]
|
||||
[INFO] AIO - SDK 4.5
|
||||
[INFO] Alfresco Platform/Repository JAR Module
|
||||
[INFO] Alfresco Share JAR Module
|
||||
[INFO] Integration Tests Module
|
||||
@@ -87,8 +87,8 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
|
||||
...
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
[INFO] Reactor Summary:
|
||||
[INFO]
|
||||
[INFO] AIO - SDK 4.2 ...................................... SUCCESS [ 0.680 s]
|
||||
[INFO]
|
||||
[INFO] AIO - SDK 4.5 ...................................... SUCCESS [ 0.680 s]
|
||||
[INFO] Alfresco Platform/Repository JAR Module ............ SUCCESS [ 5.461 s]
|
||||
[INFO] Alfresco Share JAR Module .......................... SUCCESS [ 0.557 s]
|
||||
[INFO] Integration Tests Module ........................... SUCCESS [ 0.900 s]
|
||||
@@ -114,11 +114,11 @@ Successfully tagged alfresco-content-services-my-all-in-one-project:development
|
||||
my-all-in-one-project-acs_1 | 27-Mar-2019 06:53:39.191 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
|
||||
my-all-in-one-project-acs_1 | 27-Mar-2019 06:53:39.233 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
|
||||
my-all-in-one-project-acs_1 | 27-Mar-2019 06:53:39.249 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 84022 ms
|
||||
```
|
||||
```
|
||||
|
||||
The `./run.sh build_start` script will do the following:
|
||||
|
||||
* Stop anything running already with this project's Docker Compose file: **my-all-in-one-project/docker/docker-compose.yml**
|
||||
* Stop anything running already with this project's Docker Compose file: **my-all-in-one-project/docker/docker-compose.yml**
|
||||
* Build the Repository and Share Extension JARs so we are sure to get the latest changes
|
||||
* Assemble/Aggregate all Repository extension JARs into the **my-all-in-one-project/my-all-in-one-project-platform-docker/target/extensions** directory
|
||||
* Assemble/Aggregate all Share extension JARs into the **my-all-in-one-project/my-all-in-one-project-share-docker/target/extensions** directory
|
||||
@@ -128,12 +128,12 @@ The `./run.sh build_start` script will do the following:
|
||||
|
||||
This will build the following two Docker images:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker image ls|more
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
alfresco-content-services-my-all-in-one-project development 48e61e882567 16 hours ago 2.07GB
|
||||
alfresco-share-my-all-in-one-project development d6cbb6143578 16 hours ago 749MB
|
||||
```
|
||||
```
|
||||
|
||||
The different web applications should now be accessible:
|
||||
|
||||
@@ -141,49 +141,49 @@ The different web applications should now be accessible:
|
||||
* **ACS Share**: http://localhost:8180/share/ - login with admin/admin
|
||||
|
||||
## Trying out the sample code
|
||||
The AIO project has some sample extension code that you can try out. There is a one Repository extension and one Share extension
|
||||
The AIO project has some sample extension code that you can try out. There is a one Repository extension and one Share extension
|
||||
that you can test to make sure the extension JARs have been applied properly.
|
||||
|
||||
The Repository extension is a Web Script that can be called with the following URL: `http://localhost:8080/alfresco/service/sample/helloworld`.
|
||||
The source code for the Web Script is located here: **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
|
||||
The source code for the Web Script is located here: **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
|
||||
and here: **my-all-in-one-project/my-all-in-one-project-platform/src/main/java/ com/example/platformsample/HelloWorldWebScript.java**.
|
||||
|
||||
The Share extension is a custom Aikau page with a custom widget, you reach it with the following URL: `http://localhost:8180/share/page/hdp/ws/simple-page`.
|
||||
The source code for the Page and Widget is located here: **my-all-in-one-project/my-all-in-one-project-share/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
|
||||
The source code for the Page and Widget is located here: **my-all-in-one-project/my-all-in-one-project-share/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
|
||||
and here: **my-all-in-one-project/my-all-in-one-project-share/src/main/resources/META-INF/resources/my-all-in-one-project-share/js/tutorials/widgets**.
|
||||
|
||||
|
||||
## Looking inside the containers
|
||||
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
|
||||
access the Repository container and list the custom Repository extension JARs that have been deployed?
|
||||
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
|
||||
access the Repository container and list the custom Repository extension JARs that have been deployed?
|
||||
|
||||
You can do that as follows:
|
||||
|
||||
First **Ctrl-C** out of the log tailing:
|
||||
```
|
||||
```
|
||||
my-all-in-one-project-acs_1 | 27-Mar-2019 07:26:23.893 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
|
||||
my-all-in-one-project-acs_1 | 27-Mar-2019 07:26:23.914 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
|
||||
my-all-in-one-project-acs_1 | 27-Mar-2019 07:26:23.940 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 83197 ms
|
||||
my-all-in-one-project-acs_1 | 2019-03-27 07:26:24,304 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-3] Starting 'Search' subsystem, ID: [Search, managed, solr6]
|
||||
my-all-in-one-project-acs_1 | 2019-03-27 07:26:25,555 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-3] Startup of 'Search' subsystem, ID: [Search, managed, solr6] complete
|
||||
^CERROR: Aborting.
|
||||
my-all-in-one-project mbergljung$
|
||||
```
|
||||
my-all-in-one-project mbergljung$
|
||||
```
|
||||
|
||||
Then check the name of the ACS Repository container:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
733867a70117 alfresco-content-services-my-all-in-one-project:development "catalina.sh run -se…" 5 minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-all-in-one-project-acs_1
|
||||
1f197e52b4f2 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 5 minutes ago Up 5 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
|
||||
1f197e52b4f2 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 5 minutes ago Up 5 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
|
||||
4eff0cc9cc25 alfresco-share-my-all-in-one-project:development "/usr/local/tomcat/s…" 5 minutes ago Up 5 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-all-in-one-project-share_1
|
||||
a7854ff16d72 postgres:9.6 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:5555->5432/tcp docker_my-all-in-one-project-postgres_1
|
||||
```
|
||||
```
|
||||
|
||||
Then open up a shell into the ACS Repository container:
|
||||
|
||||
```
|
||||
```
|
||||
my-all-in-one-project mbergljung$ docker exec -it docker_my-all-in-one-project-acs_1 /bin/bash
|
||||
[root@733867a70117 tomcat]# pwd
|
||||
/usr/local/tomcat
|
||||
@@ -191,55 +191,55 @@ my-all-in-one-project mbergljung$ docker exec -it docker_my-all-in-one-project-a
|
||||
-rw-r--r-- 1 root root 17220 Mar 27 07:24 my-all-in-one-project-platform-1.0-SNAPSHOT.jar
|
||||
[root@733867a70117 tomcat]# exit
|
||||
exit
|
||||
```
|
||||
```
|
||||
|
||||
## Updating extension code
|
||||
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
|
||||
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
|
||||
to return a different message. Open up the **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
|
||||
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
|
||||
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
|
||||
to return a different message. Open up the **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
|
||||
file and change it to look as follows:
|
||||
|
||||
```
|
||||
```
|
||||
Message: '${fromJS}' '${fromJava}' UPDATED!
|
||||
```
|
||||
```
|
||||
|
||||
To get this code update deployed we just have to run the following command in another console then where we are tailing the logs,
|
||||
and stand in the directory where the `run.sh` script is located:
|
||||
|
||||
```
|
||||
```
|
||||
my-all-in-one-project mbergljung$ ./run.sh reload_acs
|
||||
```
|
||||
```
|
||||
|
||||
What this will do is the following:
|
||||
|
||||
* Kill the `my-all-in-one-project-acs` container
|
||||
* Kill the `my-all-in-one-project-acs` container
|
||||
* Remove the killed (stopped) `my-all-in-one-project-acs` container, so a new Docker image can be created with `development` tag
|
||||
* Build the Repository extension JAR: **my-all-in-one-project/my-all-in-one-project-platform**
|
||||
* Build the Repository extension JAR: **my-all-in-one-project/my-all-in-one-project-platform**
|
||||
* Copy the newly built Repository extension JAR over to the **my-all-in-one-project/my-all-in-one-project-platform-docker/target/extensions** where it will be picked up when the new Docker image is built.
|
||||
* Build a new `alfresco-content-services-my-all-in-one-project:development` image
|
||||
* Start up the `my-all-in-one-project-acs` container based on new image
|
||||
|
||||
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
|
||||
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
|
||||
in the initial console where we started things up.
|
||||
|
||||
You can now check if the change took effect by accessing the `http://localhost:8080/alfresco/service/sample/helloworld` Web Script.
|
||||
|
||||
|
||||
## Stopping the project
|
||||
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
|
||||
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
|
||||
as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
49015432f1b2 alfresco-content-services-my-all-in-one-project:development "catalina.sh run -se…" 20 minutes ago Up 20 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-all-in-one-project-acs_1
|
||||
edb9ea129a5d postgres:9.6 "docker-entrypoint.s…" 20 minutes ago Up 20 minutes 0.0.0.0:5555->5432/tcp docker_my-all-in-one-project-postgres_1
|
||||
6992d183986f alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 20 minutes ago Up 20 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
|
||||
6992d183986f alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 20 minutes ago Up 20 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
|
||||
107d00733efd alfresco-share-my-all-in-one-project:development "/usr/local/tomcat/s…" 20 minutes ago Up 20 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-all-in-one-project-share_1
|
||||
```
|
||||
```
|
||||
|
||||
Now, standing in the directory where the `run.sh` script is located execute the following command to stop and remove the containers:
|
||||
|
||||
```
|
||||
```
|
||||
my-all-in-one-project mbergljung$ ./run.sh stop
|
||||
Stopping docker_my-all-in-one-project-acs_1 ... done
|
||||
Stopping docker_my-all-in-one-project-postgres_1 ... done
|
||||
@@ -250,7 +250,4 @@ Removing docker_my-all-in-one-project-postgres_1 ... done
|
||||
Removing docker_my-all-in-one-project-ass_1 ... done
|
||||
Removing docker_my-all-in-one-project-share_1 ... done
|
||||
Removing network docker_default
|
||||
```
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
|
||||
|
||||
# Working with a Platform (Repository) project
|
||||
|
||||
Before you continue make sure that you have read and completed the tasks in the
|
||||
[Getting started](../getting-started.md) tutorial to generate a Platform project,
|
||||
which means selecting the `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
|
||||
Maven archetype when generating the project. The following information assumes that
|
||||
Before you continue make sure that you have read and completed the tasks in the
|
||||
[Getting started](../getting-started.md) tutorial to generate a Platform project,
|
||||
which means selecting the `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
|
||||
Maven archetype when generating the project. The following information assumes that
|
||||
the Platform project was generated with the name `my-platform-project`.
|
||||
|
||||
- [Introduction](#introduction)
|
||||
@@ -21,13 +21,13 @@ the Platform project was generated with the name `my-platform-project`.
|
||||
- [Stopping the project](#stopping-the-project)
|
||||
|
||||
## Introduction
|
||||
A Platform project is used to build extensions for the [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html).
|
||||
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
|
||||
custom Docker image for the Alfresco Repository. The custom Docker images includes the JARs, or AMPs, with your extension code.
|
||||
A Platform project is used to build extensions for the [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html).
|
||||
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
|
||||
custom Docker image for the Alfresco Repository. The custom Docker images includes the JARs, or AMPs, with your extension code.
|
||||
|
||||
Looking into the generated Platform project we can see that we got a Docker Compose file (**my-platform-project/docker/docker-compose.yml**)
|
||||
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
|
||||
**my-platform-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
|
||||
Looking into the generated Platform project we can see that we got a Docker Compose file (**my-platform-project/docker/docker-compose.yml**)
|
||||
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
|
||||
**my-platform-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
|
||||
build the custom ACS Repository Docker image: **my-platform-project/src/main/docker**.
|
||||
|
||||
## Configuration properties
|
||||
@@ -49,27 +49,27 @@ The following table explains some of these properties:
|
||||
| acs.debug.port | `number` | 8888 | The external port (i.e. outside container) for ACS Repository remote debugging.|
|
||||
| postgres.port | `number` | 5555 | The external port (i.e. outside container) for PostgreSQL database.|
|
||||
|
||||
There are some Alfresco Share related properties listed here, but they are not used unless you uncomment some code in the
|
||||
There are some Alfresco Share related properties listed here, but they are not used unless you uncomment some code in the
|
||||
Docker Compose file (**my-platform-project/docker/docker-compose.yml**) to run the Alfresco Share container.
|
||||
|
||||
When you first start out you don't need to change any of these properties, just use the defaults and try it out.
|
||||
|
||||
## Building and running the project
|
||||
The first thing you need to do before you can run anything is to build the custom ACS Repository Docker image with the custom extensions.
|
||||
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
|
||||
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
|
||||
(on Windows use the `run.bat build_start` script instead).
|
||||
|
||||
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
|
||||
following ports are free: 8180 (Share - if enabled in Docker Compose), 8080 (Alfresco Repo), 9898 (Share Debug - if enabled in Docker Compose),
|
||||
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
|
||||
following ports are free: 8180 (Share - if enabled in Docker Compose), 8080 (Alfresco Repo), 9898 (Share Debug - if enabled in Docker Compose),
|
||||
8888 (Alfresco Repo Debug), 5555 (Postgres).
|
||||
If you want to change the ports see the properties section of **my-platform-project/pom.xml**. This project file also
|
||||
If you want to change the ports see the properties section of **my-platform-project/pom.xml**. This project file also
|
||||
contains the versions of Alfresco Repository and Alfresco Share (if enabled) that will be used.
|
||||
|
||||
```
|
||||
$ cd my-platform-project/
|
||||
MBP512-MBERGLJUNG-0917:my-platform-project mbergljung$ ./run.sh build_start
|
||||
[INFO] Scanning for projects...
|
||||
[INFO]
|
||||
[INFO]
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
[INFO] Building my-platform-project Platform/Repository JAR Module 1.0-SNAPSHOT
|
||||
[INFO] ------------------------------------------------------------------------
|
||||
@@ -95,12 +95,12 @@ Attaching to docker_my-platform-project-acs_1, docker_my-platform-project-ass_1,
|
||||
...
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.923 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.947 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.955 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91144 ms```
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.955 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91144 ms```
|
||||
```
|
||||
|
||||
The `./run.sh build_start` script will do the following:
|
||||
|
||||
* Stop anything running already with this project's Docker Compose file: **my-platform-project/docker/docker-compose.yml**
|
||||
* Stop anything running already with this project's Docker Compose file: **my-platform-project/docker/docker-compose.yml**
|
||||
* Build the Repository Extension JARs so we are sure to get the latest changes
|
||||
* Assemble/Aggregate all Repository extension JARs into the **my-platform-project/target/extensions** directory
|
||||
* Create Docker Volumes for Repository (alf_data), Search index, and Database so data is persisted outside the containers
|
||||
@@ -109,11 +109,11 @@ The `./run.sh build_start` script will do the following:
|
||||
|
||||
This will build the following Docker image:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker image ls|more
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
alfresco-content-services-my-platform-project development b2b9a7b730f5 5 minutes ago 2.07GB
|
||||
```
|
||||
```
|
||||
|
||||
The different web applications should now be accessible:
|
||||
|
||||
@@ -121,20 +121,20 @@ The different web applications should now be accessible:
|
||||
* And optionally (if enabled in Docker Compose file) **ACS Share**: http://localhost:8180/share/ - login with admin/admin
|
||||
|
||||
## Trying out the sample code
|
||||
The Platform project has some sample extension code that you can try out.
|
||||
The Platform project has some sample extension code that you can try out.
|
||||
|
||||
The Repository extension is a Web Script that can be called with the following URL: `http://localhost:8080/alfresco/service/sample/helloworld`.
|
||||
The source code for the Web Script is located here: **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
|
||||
The source code for the Web Script is located here: **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
|
||||
and here: **my-platform-project/src/main/java/ com/example/platformsample/HelloWorldWebScript.java**.
|
||||
|
||||
## Looking inside the containers
|
||||
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
|
||||
access the Repository container and list the custom Repository extension JARs that have been deployed?
|
||||
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
|
||||
access the Repository container and list the custom Repository extension JARs that have been deployed?
|
||||
|
||||
You can do that as follows:
|
||||
|
||||
First **Ctrl-C** out of the log tailing:
|
||||
```
|
||||
```
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.923 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.947 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
|
||||
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.955 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91144 ms
|
||||
@@ -142,21 +142,21 @@ my-platform-project-acs_1 | 2019-03-27 09:25:40,406 INFO [management.su
|
||||
my-platform-project-acs_1 | 2019-03-27 09:25:40,948 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-6] Startup of 'Transformers' subsystem, ID: [Transformers, default] complete
|
||||
^[[B^CERROR: Aborting.
|
||||
my-platform-project mbergljung$
|
||||
```
|
||||
```
|
||||
|
||||
Then check the name of the ACS Repository container:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
ba90b1648470 alfresco-content-services-my-platform-project:development "catalina.sh run -se…" 8 minutes ago Up 8 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-platform-project-acs_1
|
||||
0435b09e687c alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 8 minutes ago Up 8 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
|
||||
0435b09e687c alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 8 minutes ago Up 8 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
|
||||
c9145e7cdb20 postgres:9.6 "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:5555->5432/tcp docker_my-platform-project-postgres_1
|
||||
```
|
||||
```
|
||||
|
||||
Then open up a shell into the ACS Repository container:
|
||||
|
||||
```
|
||||
```
|
||||
my-platform-project mbergljung$ docker exec -it docker_my-platform-project-acs_1 /bin/bash
|
||||
[root@ba90b1648470 tomcat]# pwd
|
||||
/usr/local/tomcat
|
||||
@@ -165,17 +165,17 @@ my-platform-project mbergljung$ docker exec -it docker_my-platform-project-acs_1
|
||||
-rw-r--r-- 1 root root 13692 Mar 27 09:23 my-platform-project-1.0-SNAPSHOT-tests.jar
|
||||
[root@ba90b1648470 tomcat]# exit
|
||||
exit
|
||||
```
|
||||
```
|
||||
|
||||
## Updating extension code
|
||||
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
|
||||
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
|
||||
to return a different message. Open up the **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
|
||||
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
|
||||
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
|
||||
to return a different message. Open up the **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
|
||||
file and change it to look as follows:
|
||||
|
||||
```
|
||||
```
|
||||
Message: '${fromJS}' '${fromJava}' UPDATED!
|
||||
```
|
||||
```
|
||||
|
||||
To get this code update deployed we have to run the following commands:
|
||||
|
||||
@@ -183,7 +183,7 @@ First `Ctrl-C` out of the log tailing.
|
||||
|
||||
Then stop the project:
|
||||
|
||||
```
|
||||
```
|
||||
my-platform-project mbergljung$ ./run.sh stop
|
||||
Stopping docker_my-platform-project-acs_1 ... done
|
||||
Stopping docker_my-platform-project-ass_1 ... done
|
||||
@@ -192,18 +192,18 @@ Removing docker_my-platform-project-acs_1 ... done
|
||||
Removing docker_my-platform-project-ass_1 ... done
|
||||
Removing docker_my-platform-project-postgres_1 ... done
|
||||
Removing network docker_default
|
||||
```
|
||||
```
|
||||
|
||||
Now build and start again:
|
||||
|
||||
```
|
||||
```
|
||||
my-platform-project mbergljung$ ./run.sh build_start
|
||||
...
|
||||
```
|
||||
```
|
||||
|
||||
What this will do is the following:
|
||||
|
||||
* Kill the `my-platform-project-acs` container
|
||||
* Kill the `my-platform-project-acs` container
|
||||
* Removed the killed (stopped) `my-platform-project-acs` container, so a new Docker image can be created with `development` tag
|
||||
* Build the Repository extension JAR
|
||||
* Copy the newly built Repository extension JAR over to the **my-platform-project/target/extensions** where it will be picked up when the new Docker image is built.
|
||||
@@ -211,22 +211,22 @@ What this will do is the following:
|
||||
* Start up the `my-platform-project-acs` container based on new image
|
||||
|
||||
You can now check if the change took effect by accessing the `http://localhost:8080/alfresco/service/sample/helloworld` Web Script.
|
||||
|
||||
|
||||
## Stopping the project
|
||||
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
|
||||
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
|
||||
as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
61de829092f3 alfresco-content-services-my-platform-project:development "catalina.sh run -se…" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-platform-project-acs_1
|
||||
07300ddb6714 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 3 minutes ago Up 3 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
|
||||
07300ddb6714 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 3 minutes ago Up 3 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
|
||||
09922ce36d90 postgres:9.6 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:5555->5432/tcp docker_my-platform-project-postgres_1
|
||||
```
|
||||
```
|
||||
|
||||
Now, standing in the directory where the `run.sh` script is located execute the following command to stop and remove the containers:
|
||||
|
||||
```
|
||||
```
|
||||
my-platform-project mbergljung$ ./run.sh stop
|
||||
Stopping docker_my-platform-project-acs_1 ... done
|
||||
Stopping docker_my-platform-project-ass_1 ... done
|
||||
@@ -235,7 +235,4 @@ Removing docker_my-platform-project-acs_1 ... done
|
||||
Removing docker_my-platform-project-ass_1 ... done
|
||||
Removing docker_my-platform-project-postgres_1 ... done
|
||||
Removing network docker_default
|
||||
```
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
|
||||
|
||||
# Working with a Share project
|
||||
|
||||
Before you continue make sure that you have read and completed the tasks in the
|
||||
[Getting started](../getting-started.md) tutorial to generate an Alfresco Share project,
|
||||
which means selecting the `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
|
||||
Maven archetype when generating the project. The following information assumes that
|
||||
Before you continue make sure that you have read and completed the tasks in the
|
||||
[Getting started](../getting-started.md) tutorial to generate an Alfresco Share project,
|
||||
which means selecting the `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
|
||||
Maven archetype when generating the project. The following information assumes that
|
||||
the Share project was generated with the name `my-share-project`.
|
||||
|
||||
- [Introduction](#introduction)
|
||||
@@ -21,14 +21,14 @@ the Share project was generated with the name `my-share-project`.
|
||||
- [Stopping the project](#stopping-the-project)
|
||||
|
||||
## Introduction
|
||||
An Alfresco Sharte project is used to build extensions for [Alfresco Share UI](https://docs.alfresco.com/6.2/concepts/dev-extensions-share.html).
|
||||
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
|
||||
custom Docker image for Alfresco Share. The custom Docker images includes the
|
||||
JARs, or AMPs, with your extension code.
|
||||
An Alfresco Sharte project is used to build extensions for [Alfresco Share UI](https://docs.alfresco.com/6.2/concepts/dev-extensions-share.html).
|
||||
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
|
||||
custom Docker image for Alfresco Share. The custom Docker images includes the
|
||||
JARs, or AMPs, with your extension code.
|
||||
|
||||
Looking into the generated Share project we can see that we got a Docker Compose file (**my-share-project/docker/docker-compose.yml**)
|
||||
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
|
||||
**my-share-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
|
||||
Looking into the generated Share project we can see that we got a Docker Compose file (**my-share-project/docker/docker-compose.yml**)
|
||||
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
|
||||
**my-share-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
|
||||
build the custom Alfresco Share Docker image: **my-share-project/src/main/docker**.
|
||||
|
||||
## Configuration properties
|
||||
@@ -52,23 +52,23 @@ The following table explains some of these properties:
|
||||
|
||||
There are some ACS Repository related properties listed here, such as `acs.host` and `acs.port`. Alfresco Share will use those
|
||||
to connect to the Alfresco Repository. This is however a bit tricky when we are running in a container environment. You cannot
|
||||
just start the Repository and make it available on `localhost:8080`. It would not be accessible like that from inside the
|
||||
Share container. For Share to be able to connect to the Repository both containers need to be attached to the same
|
||||
just start the Repository and make it available on `localhost:8080`. It would not be accessible like that from inside the
|
||||
Share container. For Share to be able to connect to the Repository both containers need to be attached to the same
|
||||
Docker Network. This way you can just use the Docker Compose service name for the Repository, such as `my-share-project-acs`.
|
||||
So the best way to test your Share extension is to uncomment the code in the Docker Compose file
|
||||
So the best way to test your Share extension is to uncomment the code in the Docker Compose file
|
||||
(**my-share-project/docker/docker-compose.yml**) to also run the ACS Repository container, Search, and Postgres.
|
||||
|
||||
## Building and running the project
|
||||
The first thing you need to do before you can run anything is to build the custom Share Docker image with the custom extensions.
|
||||
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
|
||||
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
|
||||
(on Windows use the `run.bat build_start` script instead).
|
||||
|
||||
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
|
||||
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
|
||||
following ports are free: 8180 (Share), 8080 (Alfresco Repo - if enabled in Docker Compose), 9898 (Share Debug), 8888 (Alfresco Repo Debug - if enabled), 5555 (Postgres).
|
||||
If you want to change the ports see the properties section of **my-share-project/pom.xml**. This project file also
|
||||
If you want to change the ports see the properties section of **my-share-project/pom.xml**. This project file also
|
||||
contains the versions of Alfresco Repository (if enabled) and Alfresco Share that will be used.
|
||||
|
||||
When I run the project I have uncommented the code (make sure to also remove the "# Optional" line) that starts
|
||||
When I run the project I have uncommented the code (make sure to also remove the "# Optional" line) that starts
|
||||
the Repository, Search, and PostgresSQL in the (**my-share-project/docker/docker-compose.yml**) file, so I can test the Share extension:
|
||||
|
||||
```
|
||||
@@ -97,11 +97,11 @@ Successfully tagged alfresco-share-my-share-project:development...
|
||||
my-share-project-acs_1 | 27-Mar-2019 10:09:01.158 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
|
||||
my-share-project-acs_1 | 27-Mar-2019 10:09:01.175 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
|
||||
my-share-project-acs_1 | 27-Mar-2019 10:09:01.213 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 95189 ms
|
||||
```
|
||||
```
|
||||
|
||||
The `./run.sh build_start` script will do the following:
|
||||
|
||||
* Stop anything running already with this project's Docker Compose file: **my-share-project/docker/docker-compose.yml**
|
||||
* Stop anything running already with this project's Docker Compose file: **my-share-project/docker/docker-compose.yml**
|
||||
* Build the Share Extension JARs so we are sure to get the latest changes
|
||||
* Assemble/Aggregate all Share extension JARs into the **my-share-project/target/extensions** directory
|
||||
* Create Docker Volumes for Repository (alf_data), Search index, and Database so data is persisted outside the containers
|
||||
@@ -110,11 +110,11 @@ The `./run.sh build_start` script will do the following:
|
||||
|
||||
This will build the following Docker image:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker image ls
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
alfresco-share-my-share-project development b8b9acdb3425 About a minute ago 749MB
|
||||
```
|
||||
```
|
||||
|
||||
The different web applications should now be accessible:
|
||||
|
||||
@@ -122,43 +122,43 @@ The different web applications should now be accessible:
|
||||
* **ACS Share**: http://localhost:8180/share/ - login with admin/admin
|
||||
|
||||
## Trying out the sample code
|
||||
The Share project has some sample extension code that you can try out.
|
||||
The Share project has some sample extension code that you can try out.
|
||||
|
||||
The Share extension is a custom Aikau page with a custom widget, you reach it with the following URL: `http://localhost:8180/share/page/hdp/ws/simple-page`.
|
||||
The source code for the Page and Widget is located here: **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
|
||||
The source code for the Page and Widget is located here: **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
|
||||
and here: **my-share-project/src/main/resources/META-INF/resources/my-share-project-share/js/tutorials/widgets**.
|
||||
|
||||
## Looking inside the containers
|
||||
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
|
||||
access the Share container and list the custom Share extension JARs that have been deployed?
|
||||
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
|
||||
access the Share container and list the custom Share extension JARs that have been deployed?
|
||||
|
||||
You can do that as follows:
|
||||
|
||||
First **Ctrl-C** out of the log tailing:
|
||||
```
|
||||
```
|
||||
my-share-project-acs_1 | 27-Mar-2019 10:09:01.213 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 95189 ms
|
||||
my-share-project-acs_1 | 2019-03-27 10:09:30,278 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-5] Starting 'Transformers' subsystem, ID: [Transformers, default]
|
||||
my-share-project-acs_1 | 2019-03-27 10:09:30,618 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-5] Startup of 'Transformers' subsystem, ID: [Transformers, default] complete
|
||||
my-share-project-share_1 | 2019-03-27 10:11:50,150 INFO [web.site.EditionInterceptor] [http-nio-8080-exec-1] Successfully retrieved license information from Alfresco.
|
||||
my-share-project-share_1 | 2019-03-27 10:12:11,652 INFO [web.scripts.ImapServerStatus] [http-nio-8080-exec-7] Successfully retrieved IMAP server status from Alfresco: disabled
|
||||
^CERROR: Aborting.
|
||||
my-share-project mbergljung$
|
||||
```
|
||||
my-share-project mbergljung$
|
||||
```
|
||||
|
||||
Then check the name of the Alfresco Share container:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
dda89172506c alfresco/alfresco-content-repository-community:6.1.2-ga "catalina.sh run -se…" 6 minutes ago Up 6 minutes 0.0.0.0:8080->8080/tcp docker_my-share-project-acs_1
|
||||
2b4fa4b4a3f6 alfresco-share-my-share-project:development "/usr/local/tomcat/s…" 6 minutes ago Up 6 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-share-project-share_1
|
||||
ad8857f3574b postgres:9.6 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:5555->5432/tcp docker_my-share-project-postgres_1
|
||||
92902d7ae624 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 6 minutes ago Up 6 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
|
||||
```
|
||||
92902d7ae624 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 6 minutes ago Up 6 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
|
||||
```
|
||||
|
||||
Then open up a shell into the Alfresco Share container:
|
||||
|
||||
```
|
||||
```
|
||||
my-share-project mbergljung$ docker exec -it docker_my-share-project-share_1 /bin/bash
|
||||
[root@2b4fa4b4a3f6 tomcat]# pwd
|
||||
/usr/local/tomcat
|
||||
@@ -166,15 +166,15 @@ my-share-project mbergljung$ docker exec -it docker_my-share-project-share_1 /bi
|
||||
-rw-r--r-- 1 root root 18920 Mar 27 10:07 my-share-project-1.0-SNAPSHOT.jar
|
||||
[root@2b4fa4b4a3f6 tomcat]# exit
|
||||
exit
|
||||
```
|
||||
```
|
||||
|
||||
## Updating extension code
|
||||
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
|
||||
What do you need to do, restart etc. First just update the code. For example, let's update the Share Page title.
|
||||
Open up the **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages/simple-page.get.js**
|
||||
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
|
||||
What do you need to do, restart etc. First just update the code. For example, let's update the Share Page title.
|
||||
Open up the **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages/simple-page.get.js**
|
||||
file and change it to look as follows:
|
||||
|
||||
```
|
||||
```
|
||||
model.jsonModel = {
|
||||
widgets: [{
|
||||
id: "SET_PAGE_TITLE",
|
||||
@@ -204,45 +204,45 @@ model.jsonModel = {
|
||||
}
|
||||
}]
|
||||
};
|
||||
```
|
||||
```
|
||||
|
||||
To get this code update deployed we just have to run the following command in another console then where we are tailing the logs,
|
||||
and stand in the directory where the `run.sh` script is located:
|
||||
|
||||
```
|
||||
```
|
||||
my-share-project mbergljung$ ./run.sh reload_share
|
||||
```
|
||||
```
|
||||
|
||||
What this will do is the following:
|
||||
|
||||
* Kill the `my-share-project-acs` container
|
||||
* Kill the `my-share-project-acs` container
|
||||
* Remove the killed (stopped) `my-share-project-acs` container, so a new Docker image can be created with `development` tag
|
||||
* Build the Share extension JAR
|
||||
* Copy the newly built Share extension JAR over to the **my-share-project/target/extensions** where it will be picked up when the new Docker image is built.
|
||||
* Build a new `alfresco-share-my-share-project:development` image
|
||||
* Start up the `my-share-project-acs` container based on new image
|
||||
|
||||
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
|
||||
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
|
||||
in the initial console where we started things up.
|
||||
|
||||
You can now check if the change took effect by accessing the `http://localhost:8180/share/page/hdp/ws/simple-page` Web Script.
|
||||
|
||||
|
||||
## Stopping the project
|
||||
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
|
||||
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
|
||||
as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
|
||||
|
||||
```
|
||||
```
|
||||
$ docker container ls
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
59f02060955a alfresco-share-my-share-project:development "/usr/local/tomcat/s…" 4 minutes ago Up 4 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-share-project-share_1
|
||||
dda89172506c alfresco/alfresco-content-repository-community:6.1.2-ga "catalina.sh run -se…" 16 minutes ago Up 16 minutes 0.0.0.0:8080->8080/tcp docker_my-share-project-acs_1
|
||||
ad8857f3574b postgres:9.6 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:5555->5432/tcp docker_my-share-project-postgres_1
|
||||
92902d7ae624 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 16 minutes ago Up 16 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
|
||||
```
|
||||
92902d7ae624 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 16 minutes ago Up 16 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
|
||||
```
|
||||
|
||||
Now, standing in the directory where the `run.sh` script is located execute the following command to stop and remove the containers:
|
||||
|
||||
```
|
||||
```
|
||||
my-share-project mbergljung$ ./run.sh stop
|
||||
Stopping docker_my-share-project-share_1 ... done
|
||||
Stopping docker_my-share-project-acs_1 ... done
|
||||
@@ -253,7 +253,4 @@ Removing docker_my-share-project-acs_1 ... done
|
||||
Removing docker_my-share-project-postgres_1 ... done
|
||||
Removing docker_my-share-project-ass_1 ... done
|
||||
Removing network docker_default
|
||||
```
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
@@ -10,7 +10,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -107,17 +107,17 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.5.3</version>
|
||||
<version>4.5.13</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-net</groupId>
|
||||
<artifactId>commons-net</artifactId>
|
||||
<version>3.6</version>
|
||||
<version>3.9.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>2.5</version>
|
||||
<version>2.11.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.alfresco</groupId>
|
||||
@@ -157,11 +157,4 @@
|
||||
</plugins>
|
||||
</reporting>
|
||||
|
||||
<repositories>
|
||||
<!-- Used for the ATV donwload -->
|
||||
<repository>
|
||||
<id>clojars.org</id>
|
||||
<url>http://clojars.org/repo</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
</project>
|
||||
|
483
pom.xml
483
pom.xml
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>4.2.0</version>
|
||||
<version>4.6.0-SNAPSHOT</version>
|
||||
<name>Alfresco SDK</name>
|
||||
<description>This aggregator Project builds all modules required for the Alfresco SDK</description>
|
||||
<packaging>pom</packaging>
|
||||
@@ -30,7 +30,7 @@
|
||||
<connection>scm:git:${scm.url.base}.git</connection>
|
||||
<developerConnection>scm:git:${scm.url.base}</developerConnection>
|
||||
<url>${scm.url.base}</url>
|
||||
<tag>alfresco-sdk-aggregator-4.2.0</tag>
|
||||
<tag>alfresco-sdk-aggregator-4.4.0</tag>
|
||||
</scm>
|
||||
|
||||
<!-- All the modules of the Alfresco SDK -->
|
||||
@@ -56,28 +56,234 @@
|
||||
<alfresco.sdk.tests.exclude>*/*-enterprise*/*</alfresco.sdk.tests.exclude>
|
||||
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.0.0</alfresco.platform.version>
|
||||
<alfresco.share.version>7.0.0</alfresco.share.version>
|
||||
<alfresco.platform.version>7.3.0</alfresco.platform.version>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
<alfresco.share.docker.version>7.3.0</alfresco.share.docker.version>
|
||||
<!--
|
||||
The following value is now obtained by looking at the
|
||||
- alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/7.2.1/pom.xml#L17)
|
||||
or
|
||||
- alfresco-enterprise-share.version (eg. https://github.com/Alfresco/acs-packaging/blob/7.2.1/pom.xml#L18)
|
||||
for the GitHub Tag related to the above Docker version.
|
||||
-->
|
||||
<alfresco.share.version>17.137</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings>
|
||||
-Dencryption.keystore.type=JCEKS
|
||||
-Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding
|
||||
-Dencryption.keyAlgorithm=AES
|
||||
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
|
||||
-Dmetadata-keystore.password=mp6yc0UD9e
|
||||
-Dmetadata-keystore.aliases=metadata
|
||||
-Dmetadata-keystore.metadata.password=oKIWzVdEdA
|
||||
-Dmetadata-keystore.metadata.algorithm=AES
|
||||
-Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding -Dencryption.keyAlgorithm=AES -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=oKIWzVdEdA -Dmetadata-keystore.metadata.algorithm=AES
|
||||
</keystore.settings>
|
||||
|
||||
<activemq.version>5.16.1</activemq.version>
|
||||
|
||||
<test.acs.endpoint.path />
|
||||
|
||||
<test.acs.endpoint.path/>
|
||||
<scm.url.base>https://github.com/Alfresco/alfresco-sdk</scm.url.base>
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>internal-release</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>internal.release</name>
|
||||
<value>true</value>
|
||||
</property>
|
||||
</activation>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>alfresco-releases</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/releases/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
|
||||
<!-- 7.0 -->
|
||||
<profile>
|
||||
<id>community-70-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.0.1-A7</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.0.1.3</alfresco.share.docker.version>
|
||||
<alfresco.share.version>7.0.1.3</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>enterprise-70-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.0.1.7</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.0.1.3</alfresco.share.docker.version>
|
||||
<alfresco.share.version>7.0.1.3</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 7.1 -->
|
||||
<profile>
|
||||
<id>community-71-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.1.1.2</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
|
||||
<alfresco.share.version>13.10</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>enterprise-71-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.1.1.2</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
|
||||
<alfresco.share.version>13.10</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 7.2 -->
|
||||
<profile>
|
||||
<id>community-72-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.2.1</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.2.1</alfresco.share.docker.version>
|
||||
<alfresco.share.version>15.17</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>enterprise-72-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.2.1</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.2.1</alfresco.share.docker.version>
|
||||
<alfresco.share.version>15.17</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 7.3 -->
|
||||
<profile>
|
||||
<id>community-73-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.3.0</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.3.0</alfresco.share.docker.version>
|
||||
<alfresco.share.version>17.137</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>enterprise-73-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.3.0</alfresco.platform.version>
|
||||
<alfresco.share.docker.version>7.3.0</alfresco.share.docker.version>
|
||||
<alfresco.share.version>17.137</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>sdk-release</id>
|
||||
<properties>
|
||||
<maven.site.url>https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest</maven.site.url>
|
||||
<maven.release.goals>deploy site-deploy</maven.release.goals>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>1.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<gpgArguments>
|
||||
<arg>--pinentry-mode</arg>
|
||||
<arg>loopback</arg>
|
||||
</gpgArguments>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>2.5.3</version>
|
||||
<configuration>
|
||||
<preparationGoals>clean install</preparationGoals>
|
||||
<goals>${maven.release.goals}</goals>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
<releaseProfiles>sdk-release,enterprise-tests</releaseProfiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-project-info-reports-plugin</artifactId>
|
||||
<version>2.9</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
<version>3.6</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-changes-plugin</artifactId>
|
||||
<version>2.12.1</version>
|
||||
<reportSets>
|
||||
<reportSet>
|
||||
<reports>
|
||||
<report>github-report</report>
|
||||
</reports>
|
||||
</reportSet>
|
||||
</reportSets>
|
||||
<configuration>
|
||||
<onlyCurrentVersion>true</onlyCurrentVersion>
|
||||
<includeOpenIssues>false</includeOpenIssues>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>docker-toolbox</id>
|
||||
<properties>
|
||||
<!-- Define the ACS endpoint path when docker toolbox is used (docker container are not exposed through localhost) -->
|
||||
<test.acs.endpoint.path>http://192.168.99.100:8080/alfresco</test.acs.endpoint.path>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
@@ -170,7 +376,6 @@
|
||||
</excludes>
|
||||
</testResource>
|
||||
</testResources>
|
||||
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
@@ -200,12 +405,15 @@
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
|
||||
<!-- Activiti Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||
<repository>
|
||||
<id>activiti-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-internal</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<distributionManagement>
|
||||
@@ -223,243 +431,7 @@
|
||||
</site>
|
||||
</distributionManagement>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>internal-release</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>internal.release</name>
|
||||
<value>true</value>
|
||||
</property>
|
||||
</activation>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>alfresco-releases</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/releases/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
|
||||
<!-- 6.0 -->
|
||||
<profile>
|
||||
<id>community-60-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>6.0.7-ga</alfresco.platform.version>
|
||||
<alfresco.share.version>6.0.b</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>enterprise-60-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>6.0.0.2</alfresco.platform.version>
|
||||
<alfresco.share.version>6.0</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 6.1 -->
|
||||
<!-- This profiles requires to be executed using Java 11 -->
|
||||
<profile>
|
||||
<id>community-61-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>6.1.2-ga</alfresco.platform.version>
|
||||
<alfresco.share.version>6.1.1</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>enterprise-61-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>6.1.0</alfresco.platform.version>
|
||||
<alfresco.share.version>6.1.0</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 6.2 -->
|
||||
<!-- This profiles requires to be executed using Java 11 -->
|
||||
<profile>
|
||||
<id>community-62-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>6.2.0-ea</alfresco.platform.version>
|
||||
<alfresco.share.version>6.2.2</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>enterprise-62-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>6.2.2.12</alfresco.platform.version>
|
||||
<alfresco.share.version>6.2.2.2</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
<keystore.settings />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 7.0 -->
|
||||
<!-- This profiles requires to be executed using Java 11 -->
|
||||
<profile>
|
||||
<id>community-70-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.0.0</alfresco.platform.version>
|
||||
<alfresco.share.version>7.0.0</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- 7.0 -->
|
||||
<!-- This profiles requires to be executed using Java 11 -->
|
||||
<profile>
|
||||
<id>enterprise-70-tests</id>
|
||||
<properties>
|
||||
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
|
||||
<alfresco.platform.version>7.0.0</alfresco.platform.version>
|
||||
<alfresco.share.version>7.0.0</alfresco.share.version>
|
||||
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
|
||||
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>sdk-release</id>
|
||||
<properties>
|
||||
<maven.site.url>https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest</maven.site.url>
|
||||
<maven.release.goals>deploy site-deploy</maven.release.goals>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
<version>1.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>sign-artifacts</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>2.5.3</version>
|
||||
<configuration>
|
||||
<preparationGoals>clean install</preparationGoals>
|
||||
<goals>${maven.release.goals}</goals>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
<releaseProfiles>sdk-release,enterprise-tests</releaseProfiles>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-project-info-reports-plugin</artifactId>
|
||||
<version>2.9</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-site-plugin</artifactId>
|
||||
<version>3.6</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
<reporting>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-changes-plugin</artifactId>
|
||||
<version>2.12.1</version>
|
||||
<reportSets>
|
||||
<reportSet>
|
||||
<reports>
|
||||
<report>github-report</report>
|
||||
</reports>
|
||||
</reportSet>
|
||||
</reportSets>
|
||||
<configuration>
|
||||
<onlyCurrentVersion>true</onlyCurrentVersion>
|
||||
<includeOpenIssues>false</includeOpenIssues>
|
||||
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>docker-toolbox</id>
|
||||
<properties>
|
||||
<!-- Define the ACS endpoint path when docker toolbox is used (docker container are not exposed through localhost) -->
|
||||
<test.acs.endpoint.path>http://192.168.99.100:8080/alfresco</test.acs.endpoint.path>
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
<!-- Attempt (failed) to retain run.sh permissions. Zip files are bad at this, full stop.
|
||||
<profile>
|
||||
<id>set-executables-permissions</id>
|
||||
<activation>
|
||||
<file>
|
||||
<exists>src/main/resources/archetype-resources/run.sh</exists>
|
||||
</file>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>set-executable-resources</id>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<phase>process-resources</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<chmod file="${project.build.outputDirectory}/archetype-resources/run.sh" perm="755" />
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
-->
|
||||
</profiles>
|
||||
|
||||
<developers>
|
||||
|
||||
<developer>
|
||||
<id>ohej</id>
|
||||
<name>Ole Hejlskov</name>
|
||||
@@ -536,5 +508,4 @@
|
||||
<timezone>+1</timezone>
|
||||
</contributor>
|
||||
</contributors>
|
||||
|
||||
</project>
|
||||
</project>
|
10
settings.xml
10
settings.xml
@@ -38,5 +38,15 @@
|
||||
<username>${env.MAVEN_USERNAME}</username>
|
||||
<password>${env.MAVEN_PASSWORD}</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>alfresco-internal</id>
|
||||
<username>${env.MAVEN_USERNAME}</username>
|
||||
<password>${env.MAVEN_PASSWORD}</password>
|
||||
</server>
|
||||
<server>
|
||||
<id>central-releases-staging</id>
|
||||
<username>${env.MAVEN_CENTRAL_USERNAME}</username>
|
||||
<password>${env.MAVEN_CENTRAL_PASSWORD}</password>
|
||||
</server>
|
||||
</servers>
|
||||
</settings>
|
||||
|
@@ -20,7 +20,7 @@ Alfresco SDK\x99 Pre-Requisites
|
||||
Alfresco platform is retrieved automatically from {{{https://artifacts.alfresco.com} the Alfresco Artifacts Repository}}
|
||||
based on the <<<alfresco.groupId>>> and <<<alfresco.version>>> POM properties
|
||||
|
||||
* If you're an Alfresco customer, you can setup a ~/.m2/settings.xml as documented on {{{http://docs.alfresco.com/4.2/tasks/dev-extensions-maven-sdk-tutorials-configure-maven-enterprise.html} Alfresco Docs page}} and specify <<<-Penterprise>>> on your Maven build command to use the latest Alfresco Enterprise version
|
||||
* If you're an Alfresco customer, you can setup a ~/.m2/settings.xml as documented on {{{https://docs.alfresco.com/content-services/latest/develop/sdk/#how-to-configure-private-alfresco-nexus-repository-enterprisemvnrepo} Alfresco Docs page}} and specify <<<-Penterprise>>> on your Maven build command to use the latest Alfresco Enterprise version
|
||||
|
||||
|
||||
Enable hot class reload with spring-loaded
|
||||
|
Reference in New Issue
Block a user