Compare commits

...

12 Commits

Author SHA1 Message Date
gevagel
48c1d4d3ee MNT-22384: Inline keystore settings to avoid invalid docker-compose file 2022-11-07 15:51:24 +00:00
pzurek
b57196f46e Add maven central repo configuration 2022-10-27 13:43:19 +02:00
Piotr Żurek
a565f66c76 Merge pull request #643 from Alfresco/configure-maven-central
Add maven central repo configuration
2022-10-27 13:04:25 +02:00
pzurek
b3808e3e8b Add maven central repo configuration 2022-10-27 12:43:00 +02:00
kmagdziarz
3f51507ea7 4.6.0-SNAPSHOT 2022-10-27 10:57:09 +02:00
Kacper Magdziarz
0a082f3bfc SDK 4.5
Add tests for ACS 7.3.
Add java 17 profile.

Co-authored-by: Grzegorz Oleksy <grzegorz.oleksy@hyland.com>
Co-authored-by: mstrankowski <marcin.strankowski@hyland.com>
2022-10-27 10:11:59 +02:00
Vítor Moreira
35e2800858 MNT-22946: version bump of acs-*-packaging and share (#637)
* MNT-22946: version bump of acs-*-packaging and share
* MNT-22946: updated ACS 7.2.1 versions
* MNT-22946: updated ACS 7.1.1 versions
* MNT-22946: updated ACS 7.0.1 versions
2022-09-29 13:52:39 +01:00
Kacper Magdziarz
4a56544cad ACS-3556 Add maven profile for Java 17 (#640)
* ACS-3556 Add maven profile for Java 17

* ACS-3556 Add range up to java 17 for java 11 profile.
2022-09-16 12:42:51 +02:00
Andrea Ligios
9c2ac0c956 Update README.md 2022-03-25 18:18:01 +01:00
Alex Mukha
8d407356b7 REPO-5711 Fix repository to Search services comms (#634)
The Search Services is now using a new default "secret" communication method.
The changes also have updates to use the latest Search Services version (2.0.3)
2022-03-23 18:18:22 +01:00
Andrea Ligios
42e5726313 4.5.0-SNAPSHOT 2022-03-22 13:07:16 +01:00
Andrea Ligios
9c28f38f9c SDK 4.4 (#633)
* Add 7.2 tests, remove 6.1 tests

* Fixed the version of Share in default build

* 7.2.0-A30

* Modification for solr properties.

* REPO-5709: adding alfresco-internal repository.

* REPO-5709: adding alfresco-internal repository.

* REPO-5709: adding alfresco-internal repository.

* REPO-5709: removing ACS 6.2 related tests.

* REPO-5709: adding alfresco-internal repository.

* 7.2.0

* Updated Docs and Tests versions

* Updated version in pom and documentation

* 4.4.0

Co-authored-by: mpichura <maciej.pichura@hyland.com>
2022-03-22 12:58:35 +01:00
30 changed files with 446 additions and 356 deletions

View File

@@ -6,6 +6,10 @@ import:
dist: focal dist: focal
jdk:
- openjdk17
- openjdk11
git: git:
depth: false depth: false
quiet: true quiet: true
@@ -15,7 +19,7 @@ branches:
- master - master
- /feature\/.*/ - /feature\/.*/
- /fix\/.*/ - /fix\/.*/
- sdk-4.3 - sdk-4.5
stages: stages:
- name: test - name: test
@@ -29,48 +33,74 @@ env:
jobs: jobs:
include: include:
- name: "current version Java 17"
- name: "current version"
stage: test stage: test
script: jdk: openjdk17
script:
- ${MAVEN_INSTALL_CMD} - ${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" - name: "7.1 Enterprise"
stage: test stage: test
jdk: openjdk11
script: script:
- ${MAVEN_INSTALL_CMD} -Penterprise-71-tests - ${MAVEN_INSTALL_CMD} -Penterprise-71-tests
- name: "7.1 Community" - name: "7.1 Community"
stage: test stage: test
jdk: openjdk11
script: script:
- ${MAVEN_INSTALL_CMD} -Pcommunity-71-tests - ${MAVEN_INSTALL_CMD} -Pcommunity-71-tests
- name: "7.0 Enterprise" - name: "7.0 Enterprise"
stage: test stage: test
jdk: openjdk11
script: script:
- ${MAVEN_INSTALL_CMD} -Penterprise-70-tests - ${MAVEN_INSTALL_CMD} -Penterprise-70-tests
- name: "7.0 Community" - name: "7.0 Community"
stage: test stage: test
jdk: openjdk11
script: script:
- ${MAVEN_INSTALL_CMD} -Pcommunity-70-tests - ${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

View File

@@ -15,6 +15,8 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
## News ## 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-10: Alfresco SDK 4.3.0 released
- 2021-02: Alfresco SDK 4.2.0 released - 2021-02: Alfresco SDK 4.2.0 released
- 2019-10: Alfresco SDK 4.1.0 released - 2019-10: Alfresco SDK 4.1.0 released
@@ -32,6 +34,10 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
## User Getting Started ## 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 ### Important Notice about ACS 7.1
#### Share Version Number #### Share Version Number
@@ -70,9 +76,9 @@ the `alfresco.log` file has also been moved to a more appropriate location (Tomc
In Q4 2020, Alfresco Platform has undergone a major structural refactoring. 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.3. 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.3 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 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 - 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
@@ -84,21 +90,23 @@ It's also important to remember that:
- Enterprise Docker images are published on *Quay.io* - Enterprise Docker images are published on *Quay.io*
### Latest Documentation ### Latest Documentation
To get started with **Alfresco SDK 4.3.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 #### Documentation about Previous Versions
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation | | SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
| ------------- |:-------------:| :-----:|:-----| |-------------|:----------------------------------------------:|:--------------------------------------:|:-----|
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / Alfresco 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md | | 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.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.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.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.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.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 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 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html | | 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 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html | | 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 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html | | SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-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.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html | | SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
| 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 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 ## Reporting Issues and Community Support
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/). Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).

View File

@@ -11,7 +11,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -1,6 +1,6 @@
# Alfresco AIO Project - SDK 4.3 # Alfresco AIO Project - SDK 4.5
This is an All-In-One (AIO) project for Alfresco SDK 4.3. 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 Run with `./run.sh build_start` or `./run.bat build_start` and verify that it

View File

@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>${artifactId}</artifactId> <artifactId>${artifactId}</artifactId>
<name>Integration Tests Module</name> <name>Integration Tests Module</name>
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.3</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 <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) --> nothing is compiled (i.e. you cannot set it to pom) -->

View File

@@ -62,7 +62,8 @@ db.driver=org.postgresql.Driver
index.subsystem.name=solr6 index.subsystem.name=solr6
solr.host=${rootArtifactId}-ass solr.host=${rootArtifactId}-ass
solr.port=8983 solr.port=8983
solr.secureComms=none solr.secureComms=secret
solr.sharedSecret=secret
db.username=alfresco db.username=alfresco
db.password=alfresco db.password=alfresco

View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>${artifactId}</artifactId> <artifactId>${artifactId}</artifactId>
<name>Alfresco Platform/Repository JAR Module</name> <name>Alfresco Platform/Repository JAR Module</name>
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.3 <description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.5
</description> </description>
<packaging>jar</packaging> <packaging>jar</packaging>

View File

@@ -5,7 +5,7 @@
<artifactId>${artifactId}</artifactId> <artifactId>${artifactId}</artifactId>
<name>Alfresco Share JAR Module</name> <name>Alfresco Share JAR Module</name>
<packaging>jar</packaging> <packaging>jar</packaging>
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.3</description> <description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.5</description>
<parent> <parent>
<groupId>${groupId}</groupId> <groupId>${groupId}</groupId>

View File

@@ -21,6 +21,8 @@ services:
environment: environment:
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}" JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
JAVA_OPTS: " JAVA_OPTS: "
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\" -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" CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
@@ -43,13 +45,15 @@ services:
volumes: volumes:
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data - ${rootArtifactId}-db-volume:/var/lib/postgresql/data
${rootArtifactId}-ass: ${rootArtifactId}-ass:
image: alfresco/alfresco-search-services:1.2.0 image: alfresco/alfresco-search-services:2.0.3
environment: environment:
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
SOLR_ALFRESCO_PORT: 8080 SOLR_ALFRESCO_PORT: 8080
SOLR_SOLR_HOST: ${rootArtifactId}-ass SOLR_SOLR_HOST: ${rootArtifactId}-ass
SOLR_SOLR_PORT: 8983 SOLR_SOLR_PORT: 8983
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
ALFRESCO_SECURE_COMMS: "secret"
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
ports: ports:
- "8983:8983" - "8983:8983"
volumes: volumes:

View File

@@ -5,8 +5,8 @@
<groupId>${groupId}</groupId> <groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId> <artifactId>${artifactId}</artifactId>
<version>${version}</version> <version>${version}</version>
<name>AIO - SDK 4.3</name> <name>AIO - SDK 4.5</name>
<description>All-In-One (AIO) project for SDK 4.3</description> <description>All-In-One (AIO) project for SDK 4.5</description>
<packaging>pom</packaging> <packaging>pom</packaging>
<prerequisites> <prerequisites>
@@ -59,8 +59,8 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId> <artifactId>mockito-core</artifactId>
<version>1.9.5</version> <version>4.2.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -397,7 +397,7 @@
<profile> <profile>
<id>java11</id> <id>java11</id>
<activation> <activation>
<jdk>[11.0,)</jdk> <jdk>[11.0,17)</jdk>
</activation> </activation>
<build> <build>
<plugins> <plugins>
@@ -412,6 +412,24 @@
</plugins> </plugins>
</build> </build>
</profile> </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> </profiles>
<!-- <!--
@@ -435,6 +453,10 @@
<id>alfresco-private-repository</id> <id>alfresco-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url> <url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
</repository> </repository>
<repository>
<id>alfresco-internal</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
</repository>
</repositories> </repositories>
<pluginRepositories> <pluginRepositories>

View File

@@ -12,7 +12,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -1,6 +1,6 @@
# Alfresco ACS JAR Module - SDK 4.3 # Alfresco ACS JAR Module - SDK 4.5
This is an ACS project for Alfresco SDK 4.3. 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 Run with `./run.sh build_start` or `./run.bat build_start` and verify that it

View File

@@ -17,6 +17,8 @@ services:
environment: environment:
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}" JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
JAVA_OPTS: " JAVA_OPTS: "
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\" -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" CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
@@ -39,13 +41,15 @@ services:
volumes: volumes:
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data - ${rootArtifactId}-db-volume:/var/lib/postgresql/data
${rootArtifactId}-ass: ${rootArtifactId}-ass:
image: alfresco/alfresco-search-services:1.2.0 image: alfresco/alfresco-search-services:2.0.3
environment: environment:
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
SOLR_ALFRESCO_PORT: 8080 SOLR_ALFRESCO_PORT: 8080
SOLR_SOLR_HOST: ${rootArtifactId}-ass SOLR_SOLR_HOST: ${rootArtifactId}-ass
SOLR_SOLR_PORT: 8983 SOLR_SOLR_PORT: 8983
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
ALFRESCO_SECURE_COMMS: "secret"
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
ports: ports:
- "8983:8983" - "8983:8983"
volumes: volumes:

View File

@@ -55,8 +55,8 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId> <artifactId>mockito-core</artifactId>
<version>1.9.5</version> <version>4.2.0</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -481,7 +481,7 @@
<profile> <profile>
<id>java11</id> <id>java11</id>
<activation> <activation>
<jdk>[11.0,)</jdk> <jdk>[11.0, 17)</jdk>
</activation> </activation>
<build> <build>
<plugins> <plugins>
@@ -496,6 +496,24 @@
</plugins> </plugins>
</build> </build>
</profile> </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> </profiles>
<!-- <!--
@@ -519,6 +537,10 @@
<id>alfresco-private-repository</id> <id>alfresco-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url> <url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
</repository> </repository>
<repository>
<id>alfresco-internal</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
</repository>
</repositories> </repositories>
<pluginRepositories> <pluginRepositories>

View File

@@ -62,7 +62,8 @@ db.driver=org.postgresql.Driver
index.subsystem.name=solr6 index.subsystem.name=solr6
solr.host=${rootArtifactId}-ass solr.host=${rootArtifactId}-ass
solr.port=8983 solr.port=8983
solr.secureComms=none solr.secureComms=secret
solr.sharedSecret=secret
db.username=alfresco db.username=alfresco
db.password=alfresco db.password=alfresco
@@ -84,4 +85,4 @@ messaging.broker.url=vm://localhost?broker.persistent=false
# Disable ATS # Disable ATS
transform.service.enabled=false transform.service.enabled=false
local.transform.service.enabled=false local.transform.service.enabled=false
legacy.transform.service.enabled=false legacy.transform.service.enabled=false

View File

@@ -14,7 +14,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -1,6 +1,6 @@
# Alfresco Share JAR Module - SDK 4.3 # Alfresco Share JAR Module - SDK 4.5
This is a Share project for Alfresco SDK 4.3. 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 Run with `./run.sh build_start` or `./run.bat build_start` and verify that it

View File

@@ -24,7 +24,8 @@ services:
# -Ddb.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco # -Ddb.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco
# -Dsolr.host=${rootArtifactId}-ass # -Dsolr.host=${rootArtifactId}-ass
# -Dsolr.port=8983 # -Dsolr.port=8983
# -Dsolr.secureComms=none # -Dsolr.secureComms=secret
# -Dsolr.sharedSecret=secret
# -Dsolr.base.url=/solr # -Dsolr.base.url=/solr
# -Dindex.subsystem.name=solr6 # -Dindex.subsystem.name=solr6
# -Dcsrf.filter.enabled=false # -Dcsrf.filter.enabled=false
@@ -52,13 +53,15 @@ services:
# volumes: # volumes:
# - ${rootArtifactId}-db-volume:/var/lib/postgresql/data # - ${rootArtifactId}-db-volume:/var/lib/postgresql/data
# ${rootArtifactId}-ass: # ${rootArtifactId}-ass:
# image: alfresco/alfresco-search-services:1.2.0 # image: alfresco/alfresco-search-services:2.0.3
# environment: # environment:
# SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs # SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
# SOLR_ALFRESCO_PORT: 8080 # SOLR_ALFRESCO_PORT: 8080
# SOLR_SOLR_HOST: ${rootArtifactId}-ass # SOLR_SOLR_HOST: ${rootArtifactId}-ass
# SOLR_SOLR_PORT: 8983 # SOLR_SOLR_PORT: 8983
# SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive # SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
# ALFRESCO_SECURE_COMMS: "secret"
# JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
# ports: # ports:
# - "8983:8983" # - "8983:8983"
# volumes: # volumes:

View File

@@ -368,7 +368,7 @@
<profile> <profile>
<id>java11</id> <id>java11</id>
<activation> <activation>
<jdk>[11.0,)</jdk> <jdk>[11.0,17)</jdk>
</activation> </activation>
<build> <build>
<plugins> <plugins>
@@ -383,6 +383,24 @@
</plugins> </plugins>
</build> </build>
</profile> </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> </profiles>
<!-- <!--
@@ -406,6 +424,10 @@
<id>alfresco-private-repository</id> <id>alfresco-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url> <url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
</repository> </repository>
<repository>
<id>alfresco-internal</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
</repository>
</repositories> </repositories>
<pluginRepositories> <pluginRepositories>

View File

@@ -17,7 +17,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -1,7 +1,7 @@
--- ---
Title: Alfresco SDK 4.3 Title: Alfresco SDK 4.5
Added: v3.0.0 Added: v3.0.0
Last reviewed: 2021-02-09 Last reviewed: 2022-09-22
--- ---
# Alfresco SDK 4 # Alfresco SDK 4
@@ -18,7 +18,7 @@ Alfresco SDK 4.x is released under [Apache License version 2.0](http://www.apach
in Community Edition and Enterprise Edition. If you're an Enterprise customer, please check the [Alfresco SDK Support status](https://www.alfresco.com/alfresco-product-support-status) in Community Edition and Enterprise Edition. If you're an Enterprise customer, please check the [Alfresco SDK Support status](https://www.alfresco.com/alfresco-product-support-status)
for the version you're using. If your version is in Limited or Full Support and you need help, contact our Support team [http://support.alfresco.com](http://support.alfresco.com/). for the version you're using. If your version is in Limited or Full Support and you need help, contact our Support team [http://support.alfresco.com](http://support.alfresco.com/).
Alfresco SDK 4.3 is a minor update to the SDK and provides support for Alfresco 7.1.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 The 4.0 release takes advantage of Semantic Versioning ([SEMVER](http://semver.org/)), which means that this new release is not directly compatible with the
previous releases of the SDK. previous releases of the SDK.

View File

@@ -118,7 +118,7 @@ Choose archetype:
* `org.alfresco.maven.archetype:alfresco-platform-jar-archetype` * `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
* `org.alfresco.maven.archetype:alfresco-share-jar-archetype` * `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
3. Choose the latest version, such as 4.3.0. 3. Choose the latest version, such as 4.5.0.
``` ```
Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version: Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
@@ -138,6 +138,8 @@ Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
14: 4.1.0 14: 4.1.0
15: 4.2.0 15: 4.2.0
16: 4.3.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: 4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below:
@@ -166,7 +168,7 @@ If everything has been configured correctly, you should see something similar to
``` ```
[INFO] ---------------------------------------------------------------------------- [INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.3.0 [INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.5.0
[INFO] ---------------------------------------------------------------------------- [INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.acme [INFO] Parameter: groupId, Value: com.acme
[INFO] Parameter: artifactId, Value: my-all-in-one [INFO] Parameter: artifactId, Value: my-all-in-one

View File

@@ -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. This was a mayor release oriented to support Alfresco 6, so it is not compatible with previous versions of the SDK.
Alfresco SDK 4.3 extends the support to Alfresco 7.1, while still being compatible with Alfresco 6 Enterprise. Alfresco SDK 4.4 extends the support to Alfresco 7.2.
Alfresco 6 Community is not officially supported in SDK 4.3, but is also likely to work. SDK 4.1 can be used for that, though. Use an older SDK version for Alfresco 6.
## Embracing containers and Docker ## 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. Alfresco SDK 4.1 provides support for Alfresco 6.2.x.
## Support for Alfresco 7.0.x and 7.1.x ## Support for Alfresco 7.0.x, 7.1.x, and 7.2.x
Alfresco SDK 4.3 provides support for Alfresco 7.0.x and 7.1.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.

View File

@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
# Working with an All-In-One project # Working with an All-In-One project
Before you continue make sure that you have read and completed the tasks in the Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate an All-In-One (AIO) project, [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` which means selecting the `org.alfresco.maven.archetype:alfresco-allinone-archetype`
Maven archetype when generating the project. The following information assumes that Maven archetype when generating the project. The following information assumes that
the AIO project was generated with the name `my-all-in-one-project`. the AIO project was generated with the name `my-all-in-one-project`.
- [Introduction](#introduction) - [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) - [Stopping the project](#stopping-the-project)
## Introduction ## 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 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 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 custom Docker images for the Alfresco Repository and Alfresco Share. The custom Docker images includes the
JARs, or AMPs, with your extension code. 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**) 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 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. 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 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 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 usually more than one of each in a bigger project) and then build the custom Docker images with the
extension(s) applied. extension(s) applied.
The Repository and Share extensions that are aggregated can either be extensions that you develop locally or extensions 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. that are available in a Maven repository somewhere.
## Configuration properties ## Configuration properties
There are a number of properties that we can customise when we run the Alfresco SDK project. 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 ## 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. 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). (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). 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. 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 [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] ------------------------------------------------------------------------
[INFO] Reactor Build Order: [INFO] Reactor Build Order:
[INFO] [INFO]
[INFO] AIO - SDK 4.3 [INFO] AIO - SDK 4.5
[INFO] Alfresco Platform/Repository JAR Module [INFO] Alfresco Platform/Repository JAR Module
[INFO] Alfresco Share JAR Module [INFO] Alfresco Share JAR Module
[INFO] Integration Tests Module [INFO] Integration Tests Module
@@ -87,8 +87,8 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
... ...
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary: [INFO] Reactor Summary:
[INFO] [INFO]
[INFO] AIO - SDK 4.3 ...................................... SUCCESS [ 0.680 s] [INFO] AIO - SDK 4.5 ...................................... SUCCESS [ 0.680 s]
[INFO] Alfresco Platform/Repository JAR Module ............ SUCCESS [ 5.461 s] [INFO] Alfresco Platform/Repository JAR Module ............ SUCCESS [ 5.461 s]
[INFO] Alfresco Share JAR Module .......................... SUCCESS [ 0.557 s] [INFO] Alfresco Share JAR Module .......................... SUCCESS [ 0.557 s]
[INFO] Integration Tests Module ........................... SUCCESS [ 0.900 s] [INFO] Integration Tests Module ........................... SUCCESS [ 0.900 s]
@@ -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.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.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 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: 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 * 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 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 * 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: This will build the following two Docker images:
``` ```
$ docker image ls|more $ docker image ls|more
REPOSITORY TAG IMAGE ID CREATED SIZE REPOSITORY TAG IMAGE ID CREATED SIZE
alfresco-content-services-my-all-in-one-project development 48e61e882567 16 hours ago 2.07GB 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 alfresco-share-my-all-in-one-project development d6cbb6143578 16 hours ago 749MB
``` ```
The different web applications should now be accessible: 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 * **ACS Share**: http://localhost:8180/share/ - login with admin/admin
## Trying out the sample code ## 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. 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 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**. 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 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**. 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 ## 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 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? access the Repository container and list the custom Repository extension JARs that have been deployed?
You can do that as follows: You can do that as follows:
First **Ctrl-C** out of the log tailing: 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.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.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 | 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: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 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. ^CERROR: Aborting.
my-all-in-one-project mbergljung$ my-all-in-one-project mbergljung$
``` ```
Then check the name of the ACS Repository container: Then check the name of the ACS Repository container:
``` ```
$ docker container ls $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 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 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 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: 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 my-all-in-one-project mbergljung$ docker exec -it docker_my-all-in-one-project-acs_1 /bin/bash
[root@733867a70117 tomcat]# pwd [root@733867a70117 tomcat]# pwd
/usr/local/tomcat /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 -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 [root@733867a70117 tomcat]# exit
exit exit
``` ```
## Updating extension code ## 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. 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 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** 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: file and change it to look as follows:
``` ```
Message: '${fromJS}' '${fromJava}' UPDATED! 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, 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: and stand in the directory where the `run.sh` script is located:
``` ```
my-all-in-one-project mbergljung$ ./run.sh reload_acs my-all-in-one-project mbergljung$ ./run.sh reload_acs
``` ```
What this will do is the following: 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 * 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. * 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 * 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 * 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. 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. You can now check if the change took effect by accessing the `http://localhost:8080/alfresco/service/sample/helloworld` Web Script.
## Stopping the project ## 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: as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
``` ```
$ docker container ls $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 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 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 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: 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 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-acs_1 ... done
Stopping docker_my-all-in-one-project-postgres_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-ass_1 ... done
Removing docker_my-all-in-one-project-share_1 ... done Removing docker_my-all-in-one-project-share_1 ... done
Removing network docker_default Removing network docker_default
``` ```

View File

@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
# Working with a Platform (Repository) project # Working with a Platform (Repository) project
Before you continue make sure that you have read and completed the tasks in the Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate a Platform project, [Getting started](../getting-started.md) tutorial to generate a Platform project,
which means selecting the `org.alfresco.maven.archetype:alfresco-platform-jar-archetype` which means selecting the `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
Maven archetype when generating the project. The following information assumes that Maven archetype when generating the project. The following information assumes that
the Platform project was generated with the name `my-platform-project`. the Platform project was generated with the name `my-platform-project`.
- [Introduction](#introduction) - [Introduction](#introduction)
@@ -21,13 +21,13 @@ the Platform project was generated with the name `my-platform-project`.
- [Stopping the project](#stopping-the-project) - [Stopping the project](#stopping-the-project)
## Introduction ## 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). 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 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. 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**) 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: 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 **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**. build the custom ACS Repository Docker image: **my-platform-project/src/main/docker**.
## Configuration properties ## 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.| | 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.| | 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. 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. 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 ## 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. 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). (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 - if enabled in Docker Compose), 8080 (Alfresco Repo), 9898 (Share Debug - if enabled in Docker Compose), 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). 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. contains the versions of Alfresco Repository and Alfresco Share (if enabled) that will be used.
``` ```
$ cd my-platform-project/ $ cd my-platform-project/
MBP512-MBERGLJUNG-0917:my-platform-project mbergljung$ ./run.sh build_start MBP512-MBERGLJUNG-0917:my-platform-project mbergljung$ ./run.sh build_start
[INFO] Scanning for projects... [INFO] Scanning for projects...
[INFO] [INFO]
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------
[INFO] Building my-platform-project Platform/Repository JAR Module 1.0-SNAPSHOT [INFO] Building my-platform-project Platform/Repository JAR Module 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------ [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.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.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: 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 * 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 * 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 * 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: This will build the following Docker image:
``` ```
$ docker image ls|more $ docker image ls|more
REPOSITORY TAG IMAGE ID CREATED SIZE REPOSITORY TAG IMAGE ID CREATED SIZE
alfresco-content-services-my-platform-project development b2b9a7b730f5 5 minutes ago 2.07GB alfresco-content-services-my-platform-project development b2b9a7b730f5 5 minutes ago 2.07GB
``` ```
The different web applications should now be accessible: 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 * And optionally (if enabled in Docker Compose file) **ACS Share**: http://localhost:8180/share/ - login with admin/admin
## Trying out the sample code ## 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 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**. and here: **my-platform-project/src/main/java/ com/example/platformsample/HelloWorldWebScript.java**.
## Looking inside the containers ## 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 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? access the Repository container and list the custom Repository extension JARs that have been deployed?
You can do that as follows: You can do that as follows:
First **Ctrl-C** out of the log tailing: 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.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.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
@@ -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 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. ^[[B^CERROR: Aborting.
my-platform-project mbergljung$ my-platform-project mbergljung$
``` ```
Then check the name of the ACS Repository container: Then check the name of the ACS Repository container:
``` ```
$ docker container ls $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 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 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: 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 my-platform-project mbergljung$ docker exec -it docker_my-platform-project-acs_1 /bin/bash
[root@ba90b1648470 tomcat]# pwd [root@ba90b1648470 tomcat]# pwd
/usr/local/tomcat /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 -rw-r--r-- 1 root root 13692 Mar 27 09:23 my-platform-project-1.0-SNAPSHOT-tests.jar
[root@ba90b1648470 tomcat]# exit [root@ba90b1648470 tomcat]# exit
exit exit
``` ```
## Updating extension code ## 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. 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 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** 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: file and change it to look as follows:
``` ```
Message: '${fromJS}' '${fromJava}' UPDATED! Message: '${fromJS}' '${fromJava}' UPDATED!
``` ```
To get this code update deployed we have to run the following commands: 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: Then stop the project:
``` ```
my-platform-project mbergljung$ ./run.sh stop my-platform-project mbergljung$ ./run.sh stop
Stopping docker_my-platform-project-acs_1 ... done Stopping docker_my-platform-project-acs_1 ... done
Stopping docker_my-platform-project-ass_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-ass_1 ... done
Removing docker_my-platform-project-postgres_1 ... done Removing docker_my-platform-project-postgres_1 ... done
Removing network docker_default Removing network docker_default
``` ```
Now build and start again: Now build and start again:
``` ```
my-platform-project mbergljung$ ./run.sh build_start my-platform-project mbergljung$ ./run.sh build_start
... ...
``` ```
What this will do is the following: 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 * 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 * 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. * 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 * 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. You can now check if the change took effect by accessing the `http://localhost:8080/alfresco/service/sample/helloworld` Web Script.
## Stopping the project ## 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: as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
``` ```
$ docker container ls $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 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 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: 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 my-platform-project mbergljung$ ./run.sh stop
Stopping docker_my-platform-project-acs_1 ... done Stopping docker_my-platform-project-acs_1 ... done
Stopping docker_my-platform-project-ass_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-ass_1 ... done
Removing docker_my-platform-project-postgres_1 ... done Removing docker_my-platform-project-postgres_1 ... done
Removing network docker_default Removing network docker_default
``` ```

View File

@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
# Working with a Share project # Working with a Share project
Before you continue make sure that you have read and completed the tasks in the Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate an Alfresco Share project, [Getting started](../getting-started.md) tutorial to generate an Alfresco Share project,
which means selecting the `org.alfresco.maven.archetype:alfresco-share-jar-archetype` which means selecting the `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
Maven archetype when generating the project. The following information assumes that Maven archetype when generating the project. The following information assumes that
the Share project was generated with the name `my-share-project`. the Share project was generated with the name `my-share-project`.
- [Introduction](#introduction) - [Introduction](#introduction)
@@ -21,14 +21,14 @@ the Share project was generated with the name `my-share-project`.
- [Stopping the project](#stopping-the-project) - [Stopping the project](#stopping-the-project)
## Introduction ## 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). 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 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 custom Docker image for Alfresco Share. The custom Docker images includes the
JARs, or AMPs, with your extension code. 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**) 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: 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 **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**. build the custom Alfresco Share Docker image: **my-share-project/src/main/docker**.
## Configuration properties ## 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 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 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 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 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`. 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. (**my-share-project/docker/docker-compose.yml**) to also run the ACS Repository container, Search, and Postgres.
## Building and running the project ## 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. 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). (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). 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. 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: 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.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.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 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: 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 * 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 * 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 * 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: This will build the following Docker image:
``` ```
$ docker image ls $ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE REPOSITORY TAG IMAGE ID CREATED SIZE
alfresco-share-my-share-project development b8b9acdb3425 About a minute ago 749MB alfresco-share-my-share-project development b8b9acdb3425 About a minute ago 749MB
``` ```
The different web applications should now be accessible: 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 * **ACS Share**: http://localhost:8180/share/ - login with admin/admin
## Trying out the sample code ## 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 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**. and here: **my-share-project/src/main/resources/META-INF/resources/my-share-project-share/js/tutorials/widgets**.
## Looking inside the containers ## 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 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? access the Share container and list the custom Share extension JARs that have been deployed?
You can do that as follows: You can do that as follows:
First **Ctrl-C** out of the log tailing: 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 | 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,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-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: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 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. ^CERROR: Aborting.
my-share-project mbergljung$ my-share-project mbergljung$
``` ```
Then check the name of the Alfresco Share container: Then check the name of the Alfresco Share container:
``` ```
$ docker container ls $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 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 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 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: 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 my-share-project mbergljung$ docker exec -it docker_my-share-project-share_1 /bin/bash
[root@2b4fa4b4a3f6 tomcat]# pwd [root@2b4fa4b4a3f6 tomcat]# pwd
/usr/local/tomcat /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 -rw-r--r-- 1 root root 18920 Mar 27 10:07 my-share-project-1.0-SNAPSHOT.jar
[root@2b4fa4b4a3f6 tomcat]# exit [root@2b4fa4b4a3f6 tomcat]# exit
exit exit
``` ```
## Updating extension code ## 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. 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. 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** 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: file and change it to look as follows:
``` ```
model.jsonModel = { model.jsonModel = {
widgets: [{ widgets: [{
id: "SET_PAGE_TITLE", 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, 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: and stand in the directory where the `run.sh` script is located:
``` ```
my-share-project mbergljung$ ./run.sh reload_share my-share-project mbergljung$ ./run.sh reload_share
``` ```
What this will do is the following: 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 * 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 * 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. * 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 * Build a new `alfresco-share-my-share-project:development` image
* Start up the `my-share-project-acs` container based on new 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. 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. 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 ## 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: as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
``` ```
$ docker container ls $ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 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 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 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 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: 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 my-share-project mbergljung$ ./run.sh stop
Stopping docker_my-share-project-share_1 ... done Stopping docker_my-share-project-share_1 ... done
Stopping docker_my-share-project-acs_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-postgres_1 ... done
Removing docker_my-share-project-ass_1 ... done Removing docker_my-share-project-ass_1 ... done
Removing network docker_default Removing network docker_default
``` ```

View File

@@ -10,7 +10,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

View File

@@ -8,7 +8,7 @@
<parent> <parent>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>

191
pom.xml
View File

@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.alfresco.maven</groupId> <groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId> <artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.4.0-SNAPSHOT</version> <version>4.6.0-SNAPSHOT</version>
<name>Alfresco SDK</name> <name>Alfresco SDK</name>
<description>This aggregator Project builds all modules required for the Alfresco SDK</description> <description>This aggregator Project builds all modules required for the Alfresco SDK</description>
<packaging>pom</packaging> <packaging>pom</packaging>
@@ -30,7 +30,7 @@
<connection>scm:git:${scm.url.base}.git</connection> <connection>scm:git:${scm.url.base}.git</connection>
<developerConnection>scm:git:${scm.url.base}</developerConnection> <developerConnection>scm:git:${scm.url.base}</developerConnection>
<url>${scm.url.base}</url> <url>${scm.url.base}</url>
<tag>alfresco-sdk-aggregator-4.4.0-SNAPSHOT</tag> <tag>alfresco-sdk-aggregator-4.4.0</tag>
</scm> </scm>
<!-- All the modules of the Alfresco SDK --> <!-- All the modules of the Alfresco SDK -->
@@ -56,31 +56,24 @@
<alfresco.sdk.tests.exclude>*/*-enterprise*/*</alfresco.sdk.tests.exclude> <alfresco.sdk.tests.exclude>*/*-enterprise*/*</alfresco.sdk.tests.exclude>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId> <alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.0</alfresco.platform.version> <alfresco.platform.version>7.3.0</alfresco.platform.version>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
<alfresco.share.docker.version>7.1.0.1</alfresco.share.docker.version> <alfresco.share.docker.version>7.3.0</alfresco.share.docker.version>
<!-- <!--
The following value is now obtained by looking at the The following value is now obtained by looking at the
- alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/7.1.0/pom.xml#L17) - alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/7.2.1/pom.xml#L17)
or or
- alfresco-enterprise-share.version (eg. https://github.com/Alfresco/acs-packaging/blob/7.1.0.1/pom.xml#L18) - 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. for the GitHub Tag related to the above Docker version.
--> -->
<alfresco.share.version>11.77</alfresco.share.version> <alfresco.share.version>17.137</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image> <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.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<keystore.settings> <keystore.settings>
-Dencryption.keystore.type=JCEKS -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.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> </keystore.settings>
<test.acs.endpoint.path /> <test.acs.endpoint.path/>
<scm.url.base>https://github.com/Alfresco/alfresco-sdk</scm.url.base> <scm.url.base>https://github.com/Alfresco/alfresco-sdk</scm.url.base>
</properties> </properties>
@@ -101,100 +94,14 @@
</distributionManagement> </distributionManagement>
</profile> </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.docker.version>6.0.1.3</alfresco.share.docker.version>
<alfresco.share.version>6.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>root</alfresco.platform.docker.user>
<keystore.settings />
</properties>
</profile>
<profile>
<id>enterprise-60-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>6.0.1.10</alfresco.platform.version>
<alfresco.share.docker.version>6.0.1.3</alfresco.share.docker.version>
<alfresco.share.version>6.0.1.3</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>
<alfresco.platform.docker.user>root</alfresco.platform.docker.user>
<keystore.settings />
</properties>
</profile>
<!-- The profiles below require to be executed using Java 11 -->
<!-- 6.1 -->
<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.docker.version>6.1.1.3</alfresco.share.docker.version>
<alfresco.share.version>6.1.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>root</alfresco.platform.docker.user>
<keystore.settings />
</properties>
</profile>
<profile>
<id>enterprise-61-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>6.1.1.11</alfresco.platform.version>
<alfresco.share.docker.version>6.1.1.3</alfresco.share.docker.version>
<alfresco.share.version>6.1.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>root</alfresco.platform.docker.user>
<keystore.settings />
</properties>
</profile>
<!-- 6.2 -->
<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.docker.version>6.2.2.6</alfresco.share.docker.version>
<alfresco.share.version>6.2.2.6</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>
<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.21</alfresco.platform.version>
<alfresco.share.docker.version>6.2.2.6</alfresco.share.docker.version>
<alfresco.share.version>6.2.2.6</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>
<keystore.settings />
</properties>
</profile>
<!-- 7.0 --> <!-- 7.0 -->
<profile> <profile>
<id>community-70-tests</id> <id>community-70-tests</id>
<properties> <properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId> <alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.0.1-A7</alfresco.platform.version> <alfresco.platform.version>7.0.1-A7</alfresco.platform.version>
<alfresco.share.docker.version>7.0.1.2</alfresco.share.docker.version> <alfresco.share.docker.version>7.0.1.3</alfresco.share.docker.version>
<alfresco.share.version>7.0.1.2</alfresco.share.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.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image> <alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
@@ -204,9 +111,9 @@
<id>enterprise-70-tests</id> <id>enterprise-70-tests</id>
<properties> <properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId> <alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.0.1.4</alfresco.platform.version> <alfresco.platform.version>7.0.1.7</alfresco.platform.version>
<alfresco.share.docker.version>7.0.1.2</alfresco.share.docker.version> <alfresco.share.docker.version>7.0.1.3</alfresco.share.docker.version>
<alfresco.share.version>7.0.1.2</alfresco.share.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.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.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
@@ -218,9 +125,9 @@
<id>community-71-tests</id> <id>community-71-tests</id>
<properties> <properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId> <alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.0</alfresco.platform.version> <alfresco.platform.version>7.1.1.2</alfresco.platform.version>
<alfresco.share.docker.version>7.1.0.1</alfresco.share.docker.version> <alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
<alfresco.share.version>11.77</alfresco.share.version> <alfresco.share.version>13.10</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image> <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.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
@@ -230,9 +137,61 @@
<id>enterprise-71-tests</id> <id>enterprise-71-tests</id>
<properties> <properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId> <alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.0.1</alfresco.platform.version> <alfresco.platform.version>7.1.1.2</alfresco.platform.version>
<alfresco.share.docker.version>7.1.0.1</alfresco.share.docker.version> <alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
<alfresco.share.version>11.77</alfresco.share.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.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.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user> <alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
@@ -451,6 +410,10 @@
<id>activiti-private-repository</id> <id>activiti-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url> <url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url>
</repository> </repository>
<repository>
<id>alfresco-internal</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
</repository>
</repositories> </repositories>
<distributionManagement> <distributionManagement>
@@ -545,4 +508,4 @@
<timezone>+1</timezone> <timezone>+1</timezone>
</contributor> </contributor>
</contributors> </contributors>
</project> </project>

View File

@@ -38,5 +38,15 @@
<username>${env.MAVEN_USERNAME}</username> <username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password> <password>${env.MAVEN_PASSWORD}</password>
</server> </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> </servers>
</settings> </settings>