Compare commits

...
Author SHA1 Message Date
dependabot[bot] e179f1b2e9 Bump org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14
Bumps org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-version: 4.5.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 00:00:18 +00:00
Satyam Sah 05cc667b51 ACS-11627 Migrate alfresco-sdk to GHAS (#747) 2026-05-14 05:25:41 +05:30
Copilotandgionn 6c749e8d20 Scope GPG_SIGNING_PASSPHRASE to publish job and SHA-pin third-party actions (#744)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: gionn <71768+gionn@users.noreply.github.com>
2026-03-26 14:17:15 +01:00
Vivek Kumar 801cb5075b [ACS-11188]: [publish] Release GA Alfresco SDK 4.15.0 (#742) 2026-03-12 17:51:45 +05:30
Vivek Kumar e4db66a066 [ACS-11188]: [publish] Release Alfresco SDK 4.14.0 GA (#741) 2026-03-09 14:25:00 +05:30
tathagta15 3a34eaa201 [ACS-11189] [skip tests] Alfresco SDK 4.14.0 A2 Release (#740) 2026-02-27 20:01:10 +05:30
Debjit Chattopadhyay 8fe7e1ecbc [MNT-25505] update alfresco-sdk docs for 4.12.0 (#736) 2026-02-12 17:23:34 +05:30
Vivek Kumar 2496408ad4 [MNT-24979]: Incorrectly generated Log4j2 files from Alfresco SDK (#735) 2026-02-09 18:21:21 +05:30
Vivek Kumar 573e317e01 [PRODSEC-11120]: Bump plexus-archiver in order to fix CVE-2025-67721 (#734) 2026-01-30 16:12:53 +05:30
Vivek Kumar 4737496272 [ACS-10941][MNT-25301]: SDK - Intermediate versions must not be published to Maven Central (#733) 2026-01-28 15:06:20 +05:30
Gerard Olenski 7d69fb289f ACS-10509 Bump repository dependency to 25.3.0-A.15 (#730) 2025-11-04 14:39:20 +01:00
cezary-witkowski a1827ed550 [ACS-9960] Use commons-lang 3.18. Bump repository dependency from 25.2.0 to 25.3.0-A.8. (#728) 2025-09-26 12:12:29 +02:00
Vivek 1cab716998 [ACS-9823]: maven central publishing, modified ci.yml to use ci.settings.xml file to setup maven credentials (#727) 2025-07-29 18:30:34 +05:30
Vivek 3885c48524 [ACS-9823]:[publish] release 4.12.0 (#726) 2025-07-28 18:38:46 +05:30
Vivek a90ff212b9 [ACS-9823]: [publish] release ci work (#725)
* [ACS-9823]: [publish] migrate from nexus-staging-maven-pluging to central-publishing-maven-plugin

* [ACS-9823]: release 4.12.0-A1
2025-07-28 17:50:32 +05:30
Vivek 7b3aad825e [ACS-9823]: [publish] migrate from nexus-staging-maven-pluging to central-publishing-maven-plugin (#724) 2025-07-28 17:26:25 +05:30
Vivek 77b1bbd180 [ACS-9823]: [publish] release ci fix work 2025-07-28 16:11:26 +05:30
Vivek 6d3315f6fd [ACS-9823]: [publish] release ci fix work (#722) 2025-07-28 14:00:28 +05:30
Vivek 2fad0aef35 [ACS-9823]: [publish] release ci fix work (#721) 2025-07-28 12:41:50 +05:30
Vivek 099b7b26df [ACS-9823]: [publish] release ci fix work (#720) 2025-07-25 18:55:15 +05:30
Vivek 49a3815038 [ACS-9823]: [publish] release ci fix work (#719) 2025-07-25 18:33:17 +05:30
Vivek 458399dcf9 [ACS-9823]: [publish] release ci fix work (#718) 2025-07-25 17:36:25 +05:30
Vivek 1d67feafa4 [ACS-9823]: [publish] release ci fix work (#717) 2025-07-25 17:00:04 +05:30
Vivek 2f586f266a [ACS-9823]: [publish] package alfresco-rad before publishing and remove central.skip config (#716) 2025-07-25 14:59:12 +05:30
Vivek 3bee9d0d5b [ACS-9823]: [publish] Disable central publishing plugin execution for alfresco-rad module (#715) 2025-07-25 14:10:27 +05:30
Vivek 36c55b60b9 [ACS-9823]: [publish] fix release ci, skip central publishing for parent module to resolve missing build artifact error during release (#714) 2025-07-25 12:42:17 +05:30
Vivek f861833fa3 [ACS-9823]: [publish] maven central publishing (#713)
* [ACS-9823]: providing logic for maven central config via ci file for release process

* [ACS-9823]: providing logic for maven central config via ci file for release process
2025-07-24 18:11:27 +05:30
Vivek 32470ef417 [ACS-9823]: [publish] migrate from nexus-staging-maven-pluging to central-publishing-maven-plugin (#712) 2025-07-24 14:53:29 +05:30
Vivek 2fe97216a0 [ACS-9823]: [publish] release 4.12.0 (#711) 2025-07-17 15:13:08 +05:30
Vivek 70c61921d1 [ACS-9823]: [publish] profiles add, ci tests update and sdk version 4.12.0-A1-SNAPSHOT update in pom.xml (#710) 2025-07-07 11:49:13 +05:30
Vivek 2ec46f28a9 Merge pull request #708 from Alfresco/feature/MNT-25067
[MNT-25067]: AIO and Alfresco platform docker compose file update with new version
2025-06-23 10:52:51 +05:30
vivekkr0311 84762446cb [MNT-25067]: AIO and Alfresco platform docker compose file update with new version 2025-06-20 16:45:55 +05:30
Manish Kumar f4426cf52d added release steps in the readme (#707) 2025-04-25 12:07:41 +05:30
Manish Kumar 007397f269 Prepare for next development release 2025-04-24 11:03:05 +05:30
Manish Kumar 477cfd0815 [publish] release 4.11.0 (#706) 2025-04-14 15:09:39 +05:30
Manish Kumar ed8f8519b0 Fix/sdk release issue (#705)
* [publish] [skip tests] import gpg key

* [publish] [skip tests] import gpg key

* [publish] release 4.11.0-A2

* [publish] release 4.11.0-A2

* [publish] release 4.11.0-A2
2025-04-14 14:53:44 +05:30
mosingh 6ab259ae87 [publish] Releasing alpha version 4.11.0-A2 2025-04-09 23:20:24 +05:30
mohit-singh4 d9aadb1a7d Releasing alpha version 4.11.0-A2 (#704) 2025-04-09 22:53:11 +05:30
SathishK-TandSathish Kumar 3d312dd248 [APPS-3219] [publish] alfresco sdk 4.11.0 release (#702)
* [APPS-3219] alfresco sdk 4.11.0 release

* [APPS-3219] alfresco sdk 4.11.0 release

---------

Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-03-24 11:24:05 +05:30
SathishK-TandSathish Kumar 8746cc47ee [APPS-3249] Prepare for next development iteration (#701)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-03-18 18:19:31 +05:30
SathishK-TandSathish Kumar f935952160 [APPS-3249] [publish] Releasing Alfresco SDK 4.11.0 (#700)
* [APPS-3249] Releasing Alfresco SDK

* [APPS-3249] Releasing Alfresco SDK

---------

Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-03-18 16:20:07 +05:30
SathishK-TandSathish Kumar a303296159 [APPS-3219] Preparing for next development iteration (#697)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-02-17 10:18:53 +05:30
SathishK-TandSathish Kumar d92cd1d28c [APPS-3219] [publish] Releasing Alfresco SDK 4.11.0-A1 (#699)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-02-14 16:24:13 +05:30
SathishK-TandSathish Kumar d24a4e223d [APPS-3219] [publish] Releasing Alfresco SDK 4.11.0-A1 (#698)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-02-14 15:38:06 +05:30
SathishK-TandSathish Kumar 94646f41f1 [APPS-3219] [publish] Releasing Alfresco SDK 4.11.0-A1 (#696)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-02-14 11:26:50 +05:30
SathishK-TandSathish Kumar 3a5c7ab475 Update community version from 23.4.0 & 23.3.0 to 23.4.1 & 23.3.3 (#695)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2025-02-14 10:17:21 +05:30
Manish Kumar 1f9ae91cb1 [MNT-24673] fix users not seen (#694)
* [MNT-24673] fix users not seen

* [MNT-24673] only keep share-config file used in Docker file
2025-02-06 11:25:05 +05:30
suneet-gupta 3126e0e128 [PRODDEL-8705] Preparing for next development iteration 2024-11-22 08:02:17 +00:00
suneet-gupta 3a1d65965e [PRODDEL-8705] Preparing for next development iteration 2024-11-22 05:46:32 +00:00
suneet-gupta 88c0604a6f [PRODDEL-8705] [publish] Releasing Alfresco SDK 4.10.0 2024-11-21 15:31:24 +00:00
suneet-gupta bec7914830 [PRODDEL-8705] [publish] Releasing Alfresco SDK 4.10.0 2024-11-21 10:55:02 +00:00
suneet-gupta ac0503904d [PRODDEL-8705] [publish] Releasing Alfresco SDK 4.10.0 2024-11-21 10:20:17 +00:00
Suneet Gupta 536b01c56f [PRODDEL-8705] Release Alfresco SDK 4.10.0 (#693)
* [PRODDEL-8705] Releasing Alfresco SDK 4.10.0

* [PRODDEL-8705] Releasing Alfresco SDK 4.10.0
2024-11-21 09:49:52 +00:00
Manish Kumar 33c93c4dfe [PRODSEC-9642] fix commons-io vulnerability (#691) 2024-11-06 19:15:41 +05:30
Manish Kumar 0985d8b36d [APPS-3094] remove 70 tests (#692) 2024-11-06 15:17:01 +05:30
purusothaman-mm ac09ab3386 [APPS-3043] Upgrade to spring 6.1 (#688)
* [APPS-3043] Upgrade to spring 6.1

* [APPS-3043] Upgrade to spring 6.1
2024-10-23 13:11:15 +05:30
Aleksandra Onych 7de8c85c0a [ACS-8676] bump GH actions to the latest version (#686) 2024-09-24 17:41:59 +02:00
Suneet Gupta 94a085d2bc [APPS-2991] Prepared for next development iteration (#684) 2024-09-02 17:05:17 +05:30
SathishK-TandSathish Kumar db15d4366b [APPS-2991] Releasing Alfresco SDK 4.9.0 (#683)
Co-authored-by: Sathish Kumar <ST28@ford.com>
2024-09-02 16:24:48 +05:30
SathishK-TandSathish Kumar 7dce05b785 [APPS-2991] Releasing Alfresco SDK 4.9.0 (#680)
* [APPS-2991] Releasing Alfresco SDK 4.9.0

* [APPS-2991] Releasing Alfresco SDK 4.9.0

* [APPS-2991] Releasing Alfresco SDK 4.9.0

* [APPS-2991] Releasing Alfresco SDK 4.9.0

---------

Co-authored-by: Sathish Kumar <ST28@ford.com>
2024-08-30 15:13:10 +05:30
SathishK-T 32f23dd922 Merge pull request #679 from Alfresco/fix/PRODSEC-8956
[PRODSEC-8956] fix for CVE Vulnerability SRCCLR-SID-22742 in commons-codec-1.11
2024-08-27 09:56:45 +05:30
Sathish Kumar b3fa4568a6 [PRODSEC-8956] fix for CVE Vulnerability SRCCLR-SID-22742 in commons-codec-1.11 2024-08-26 14:03:47 +05:30
purusothaman-mm c53fb72935 [PRODSEC-9150] fix for snappy vulnerability (#677) 2024-07-24 10:46:15 +05:30
Domenico Sibilio 906a608ffa ACS-8405 Migrate to Docker Compose v2 (#676) 2024-07-18 09:50:19 +02:00
purusothaman-mm 459e3f1424 Fix/prodsec 8957 spring context vulnerability (#674)
* [PRODSEC-8957] fix for spring-context

* [PRODSEC-8957] fix for spring-context

* [PRODSEC-8957] fix for spring-context

* [PRODSEC-8957] fix for spring-context
2024-06-17 11:16:44 +05:30
purusothaman-mm a879ad83c9 [PRODSEC-9063] fix for maven-shared-utils (#672) 2024-06-13 15:40:20 +05:30
purusothaman-mm 928f99336e [PRODSEC-8961] fix for commons-net vulnerability (#671) 2024-06-12 18:15:21 +05:30
purusothaman-mm 9521f6ef42 [PRODSEC-9043] fix for maven-core vulnerability (#669) 2024-06-11 16:50:41 +05:30
purusothaman-mm 0a0039dcb0 [PRODSEC-8959] fix for zt-zip vulnerability (#668) 2024-06-07 13:22:30 +05:30
purusothaman-mm 2c29c915d4 fix for alfresco security issues (#667) 2024-05-31 15:41:28 +05:30
Manish Kumar 7878155ed9 [PRODSEC-9051] updated plexus archiver version from 3.4 to 4.9.2 (#666) 2024-05-28 12:40:18 +05:30
pmm 7aa6400210 Revert "[PRODSEC-9046] fix for sdk vulnerability (#665)"
This reverts commit cc0955e012.
2024-05-27 15:14:03 +05:30
purusothaman-mm cc0955e012 [PRODSEC-9046] fix for sdk vulnerability (#665) 2024-05-22 14:41:47 +05:30
purusothaman-mmandsuneet-gupta 2899b205ba [MNT-24306] Added fix for log4j2 config issue (#664)
* [MNT-24306] Added Fix for Log4j2 issue

* [MNT-24306] Added Fix for Log4j2 issue

* [MNT-24306] Added Fix for Log4j2 issue

* [MNT-24306] fix for the log4j2 config

* [MNT-24306] Added Fix for Log4j2 issue

---------

Co-authored-by: suneet-gupta <suneet.gupta@hyland.com>
2024-05-16 12:39:01 +05:30
Marcin Strankowski 340785180d Merge pull request #662 from Alfresco/feature/add_agent_based_scanning
SCA setup
2024-04-04 15:49:03 +02:00
mstrankowski 2bc06e4222 SCA setup 2024-04-04 15:01:34 +02:00
Suneet Gupta 4f70d0f575 Merge pull request #660 from Alfresco/PRODDEL-7832-UpdateSnapshot
[PRODDEL-7832] Switched to 4.9.0-SNAPSHOT
2024-03-06 17:06:20 +05:30
Manish Kumar fd106b13c7 [PRODDEL-7832] Switched to 4.9.0-SNAPSHOT 2024-03-06 16:44:13 +05:30
Suneet Gupta f59a05a0c0 Merge pull request #659 from Alfresco/release/PRODDEL-7832-PrepareRelease4.8
[PRODDEL-7832] Prepare 4.8 release
2024-03-05 16:48:53 +05:30
suneet-gupta 860fc03a03 [PRODDEL-7832] Prepare 4.8 release 2024-03-05 16:25:35 +05:30
Manish Kumarandsuneet-gupta a2cf89ed5e [APPS-2641] Make In-Process SDK compatible with 23.2 (#658)
* [APPS-2641] Prepare alfresco-sdk compatible with 23.2

* [APPS-2641] Added test cases suite for 23.2

* [APPS-2641] Added test cases suite for 23.2

* [APPS-2641] Added test cases suite for 23.2

* [APPS-2641] Added test cases suite for 23.2

* [APPS-2641] Added test cases suite for 23.2

---------

Co-authored-by: suneet-gupta <suneet.gupta@hyland.com>
2024-03-05 15:43:42 +05:30
Suneet Gupta 6e8f26220a Merge pull request #657 from Alfresco/MNT-24120-Log4j1_references_translated_to_Log4jv2
[MNT-24120] log4j1 references translated to log4jv2
2024-02-07 16:22:43 +05:30
pksingh 70d61333e8 Upgraded it to log4j2 as well 2024-02-07 15:04:04 +05:30
pksingh cc1fced0d8 Migrating log4j1 to log4j2 2024-02-05 10:40:02 +05:30
pksingh 9b513c151a Migrating log4j1 to log4j2 2024-01-31 17:55:46 +05:30
suneet-gupta 326104acd8 Updated POM version for next development iteration 2023-11-13 19:35:11 +05:30
Suneet Gupta 265814e487 Merge pull request #656 from Alfresco/APPS-2270-prepare-4.7-release
[APPS-2270] Prepare release-4.7
2023-11-10 16:53:24 +05:30
code4uuuu 5b6ea1e3bb updated ci.yml file 2023-11-10 16:09:43 +05:30
code4uuuu 1191057d56 fix version in comment 2023-11-10 14:26:37 +05:30
code4uuuu 5411098636 [APPS-2270] Prepare release-4.7 2023-11-08 15:44:17 +05:30
Suneet Gupta e63c849d6d Merge pull request #655 from Alfresco/fix/MNT_23888_reserved_keywords
[MNT-23888] Changes done for handling reserved words while compressing the Javascript files.
2023-10-19 14:25:51 +05:30
atkumar 013fed7669 [MNT-23888] Changes done for handling reserved words while compressing the javascript files. 2023-10-17 12:29:00 +05:30
atkumar 1cae6a854f [MNT-23888] Changes done for handling reserved words while compressing the javascript files. 2023-10-17 11:42:45 +05:30
pzurek 20d4486da9 Switch 4.7.0-SNAPSHOT 2023-06-21 12:33:56 +02:00
pzurek cabce2d981 4.6.0 Release 2023-06-21 09:33:45 +02:00
Piotr Żurek 019c5c70e0 ACS-5413 Prepare SDK 4.6 Release (#650) 2023-06-21 09:03:23 +02:00
Domenico Sibilio 693fde6285 ACS-3750 Fix cancelled workflow condition (#649) 2023-02-23 16:22:13 +01:00
Damian Ujma 515d23de2c ACS-4624 Migrate to GHA (#648)
* ACS-4624 Migrate to GHA

* ACS-4624 Rename to .ci.settings.xml

* ACS-4624 Change java version to 11

* ACS-4624 Fix build

* ACS-4624 Add login to docker/quay steps

* ACS-4624 Add publish job + remove .travis.yml

* ACS-4624 Improve branch filter

* ACS-4624 Remove useless global var

* ACS-4624 Add oss sonatype credentials

* ACS-4624 Remove MAVEN_INSTALL_CMD
2023-02-20 17:19:49 +01:00
George Evangelopoulos 9a5e70f324 MNT-22384: Inline keystore settings to avoid invalid docker-compose file (#644) 2022-11-08 15:43:15 +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
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
70 changed files with 2133 additions and 1142 deletions
+10
View File
@@ -3,6 +3,11 @@
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>central</id>
<username>${MAVEN_CENTRAL_USERNAME}</username>
<password>${MAVEN_CENTRAL_PASSWORD}</password>
</server>
<server>
<id>alfresco-private-repository</id>
<username>${env.MAVEN_USERNAME}</username>
@@ -43,5 +48,10 @@
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>central-releases-staging</id>
<username>${env.MAVEN_CENTRAL_USERNAME}</username>
<password>${env.MAVEN_CENTRAL_PASSWORD}</password>
</server>
</servers>
</settings>
+48
View File
@@ -0,0 +1,48 @@
version: 2
registries:
maven-alfresco-internal:
type: maven-repository
url: https://artifacts.alfresco.com/nexus/content/groups/internal
username: ${{secrets.NEXUS_USERNAME}}
password: ${{secrets.NEXUS_PASSWORD}}
updates:
- package-ecosystem: "maven"
directory: "/"
registries:
- maven-alfresco-internal
schedule:
interval: "daily"
time: "22:00"
timezone: "Europe/London"
open-pull-requests-limit: 10
allow:
- dependency-type: "direct"
ignore:
- dependency-name: "org.alfresco.maven:*"
- dependency-name: "org.alfresco.maven.plugin:*"
- dependency-name: "org.alfresco.maven.archetype:*"
groups:
spring:
patterns:
- "org.springframework*"
alfresco:
patterns:
- "org.alfresco*"
apache-maven:
patterns:
- "org.apache.maven*"
commons:
patterns:
- "commons-*"
- "org.apache.commons*"
slf4j:
patterns:
- "org.slf4j*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
groups:
github-actions:
patterns:
- "*"
+218
View File
@@ -0,0 +1,218 @@
name: Alfresco SDK CI
on:
pull_request:
branches:
- master
- fix/**
- feature/**
push:
branches:
- master
- fix/**
- feature/**
workflow_dispatch:
env:
JAVA_VERSION: '21'
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }}
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 90
jobs:
pre_commit:
runs-on: ubuntu-latest
steps:
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v15.7.1
veracode_sca:
name: "Veracode - Source Clear Scan (SCA)"
runs-on: ubuntu-latest
if: >
github.ref_name == 'master' ||
github.event_name == 'pull_request'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Clean-up SNAPSHOT artifacts"
run: find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
- uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v15.7.1
continue-on-error: true
with:
srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
build:
name: "Build application"
runs-on: ubuntu-latest
needs: [pre_commit]
if: "!contains(github.event.head_commit.message, '[skip tests]')"
env:
MAVEN_CLI_OPTS: >
-B -q -e -fae -V -DinstallAtEnd=true -U
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Build"
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
- name: "Verify"
run: mvn $MAVEN_CLI_OPTS verify -Dlogging.root.level=off -Dspring.main.banner-mode=off
tests:
name: ${{ matrix.name }}
runs-on: ubuntu-latest
needs: [build]
if: >
!(failure() || cancelled()) &&
!contains(github.event.head_commit.message, '[skip tests]')
strategy:
fail-fast: false
matrix:
include:
- name: "current version Java 21"
java-version: 21
- name: "26.1 Enterprise Java 21"
java-version: 21
suite: -Penterprise-261-tests
- name: "26.1 Community Java 21"
java-version: 21
suite: -Pcommunity-261-tests
- name: "25.2 Enterprise Java 17"
java-version: 17
suite: -Penterprise-252-tests
- name: "25.2 Community Java 17"
java-version: 17
suite: -Pcommunity-252-tests
- name: "25.1 Enterprise Java 17"
java-version: 17
suite: -Penterprise-251-tests
- name: "25.1 Community Java 17"
java-version: 17
suite: -Pcommunity-251-tests
- name: "23.5 Enterprise Java 17"
java-version: 17
suite: -Penterprise-235-tests
- name: "23.4 Enterprise Java 17"
java-version: 17
suite: -Penterprise-234-tests
- name: "23.4 Community Java 17"
java-version: 17
suite: -Pcommunity-234-tests
- name: "23.3 Enterprise Java 17"
java-version: 17
suite: -Penterprise-233-tests
- name: "23.3 Community Java 17"
java-version: 17
suite: -Pcommunity-233-tests
- name: "23.2 Enterprise Java 17"
java-version: 17
suite: -Penterprise-232-tests
- name: "23.2 Community Java 17"
java-version: 17
suite: -Pcommunity-232-tests
- name: "23.1 Enterprise Java 17"
java-version: 17
suite: -Penterprise-231-tests
- name: "23.1 Community Java 17"
java-version: 17
suite: -Pcommunity-231-tests
- name: "7.4 Enterprise Java 17"
java-version: 17
suite: -Penterprise-74-tests
- name: "7.4 Community Java 17"
java-version: 17
suite: -Pcommunity-74-tests
- name: "7.4 Enterprise Java 11"
java-version: 11
suite: -Penterprise-74-tests
- name: "7.4 Community Java 11"
java-version: 11
suite: -Pcommunity-74-tests
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ matrix.java-version }}
- name: "Login to Docker Hub"
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: "Login to Quay.io"
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3.7.0
with:
registry: quay.io
username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }}
- name: "Build"
run: mvn clean install -B ${{ matrix.suite }}
check_version:
name: "Check version"
runs-on: ubuntu-latest
needs: [tests]
if: >
contains(github.event.head_commit.message, '[publish]')
outputs:
is_ga: ${{ steps.publish_version.outputs.is_ga }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Check version"
id: publish_version
run: |
VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
if [[ "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "is_ga=true" >> $GITHUB_OUTPUT
echo "GA version detected: $VERSION"
else
echo "is_ga=false" >> $GITHUB_OUTPUT
echo "Non GA version detected: $VERSION"
fi
publish:
name: "Publish artifacts"
runs-on: ubuntu-latest
needs: [tests, check_version]
if: >
contains(github.event.head_commit.message, '[publish]') && needs.check_version.outputs.is_ga == 'true'
env:
GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v15.7.1
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v15.7.1
with:
java-version: ${{ env.JAVA_VERSION }}
- name: "Build"
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
- name: Set up Maven Central credentials
run: |
mkdir -p ~/.m2
envsubst < ${{ github.workspace }}/.ci.settings.xml > ~/.m2/settings.xml
env:
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
- name: Import GPG key
env:
GPG_TTY: $(tty)
run: |
echo "${{ secrets.GPG_SIGNING_PRIVATE_KEY }}" | gpg --batch --import
echo "use-agent" >> ~/.gnupg/gpg.conf
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
gpg --batch --yes --pinentry-mode loopback --passphrase $GPG_SIGNING_PASSPHRASE --list-keys
- name: "Publish"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
mvn --batch-mode clean package gpg:sign central-publishing:publish -P sdk-release -DskipTests=true -Dgpg.passphrase=$GPG_SIGNING_PASSPHRASE
+27
View File
@@ -0,0 +1,27 @@
name: "Load Dependency Graph"
on:
push:
branches:
- "master"
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
scan-dependencies:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: Alfresco/alfresco-build-tools/.github/actions/maven-dependency-scan@v17.0.0
with:
java-version: '21'
maven-version: '3.9.9'
maven-args: -Dscopes=compile,runtime
maven-username: ${{ secrets.NEXUS_USERNAME }}
maven-password: ${{ secrets.NEXUS_PASSWORD }}
maven-settings-path: ".ci.settings.xml"
-66
View File
@@ -1,66 +0,0 @@
import:
- source: Alfresco/alfresco-build-tools:.travis.docker_login.yml@v1.1.5
- source: Alfresco/alfresco-build-tools:.travis.docker_hub_login.yml@v1.1.5
- source: Alfresco/alfresco-build-tools:.travis.java.yml@v1.1.5
- source: Alfresco/alfresco-build-tools:.travis.pre-commit.yml@v1.1.5
dist: focal
git:
depth: false
quiet: true
branches:
only:
- master
- /feature\/.*/
- /fix\/.*/
- sdk-4.4
stages:
- name: test
if: commit_message !~ /\[skip tests\]/
- name: release
if: commit_message ~= /\[release\]/ AND branch = master AND type != push AND type != pull_request AND fork = false
env:
global:
- MAVEN_INSTALL_CMD="mvn clean install -B"
jobs:
include:
- name: "current version"
stage: test
script:
- ${MAVEN_INSTALL_CMD}
- name: "7.2 Enterprise"
stage: test
script:
- ${MAVEN_INSTALL_CMD} -Penterprise-72-tests
- name: "7.2 Community"
stage: test
script:
- ${MAVEN_INSTALL_CMD} -Pcommunity-72-tests
- name: "7.1 Enterprise"
stage: test
script:
- ${MAVEN_INSTALL_CMD} -Penterprise-71-tests
- name: "7.1 Community"
stage: test
script:
- ${MAVEN_INSTALL_CMD} -Pcommunity-71-tests
- name: "7.0 Enterprise"
stage: test
script:
- ${MAVEN_INSTALL_CMD} -Penterprise-70-tests
- name: "7.0 Community"
stage: test
script:
- ${MAVEN_INSTALL_CMD} -Pcommunity-70-tests
+59 -18
View File
@@ -1,7 +1,7 @@
# [![Alfresco SDK logo](https://github.com/Alfresco/alfresco-sdk/raw/master/src/site/resources/img/alfresco-maven-logo.jpg)](#features) Alfresco SDK
[![Build Status](https://travis-ci.com/Alfresco/alfresco-sdk.svg?branch=master)](https://travis-ci.com/Alfresco/alfresco-sdk)
[![Build Status](https://github.com/Alfresco/alfresco-sdk/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/Alfresco/alfresco-sdk/actions/workflows/ci.yml)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
![GitHub](https://img.shields.io/github/license/Alfresco/alfresco-sdk?color=brightgreen)
@@ -14,7 +14,17 @@ This project is released under the [Apache License, Version 2.0](http://www.apac
If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
## News
- 2026-03: Alfresco SDK 4.15.0 released
- 2026-03: Alfresco SDK 4.14.0 released
- 2026-01: Alfresco SDK 4.13.0 released
- 2025-07: Alfresco SDK 4.12.0 released
- 2025-03: Alfresco SDK 4.11.0 released
- 2024-11: Alfresco SDK 4.10.0 released
- 2024-08: Alfresco SDK 4.9.0 released
- 2024-03: Alfresco SDK 4.8.0 released
- 2023-11: Alfresco SDK 4.7.0 released
- 2023-06: Alfresco SDK 4.6.0 released
- 2022-10: Alfresco SDK 4.5.0 released
- 2022-03: Alfresco SDK 4.4.0 released
- 2021-10: Alfresco SDK 4.3.0 released
- 2021-02: Alfresco SDK 4.2.0 released
@@ -33,6 +43,10 @@ If you are an Enterprise customer check the [Support](#alfresco-enterprise-custo
## User Getting Started
### Important Notice about ACS 7.2
Please refer to https://github.com/Alfresco/alfresco-sdk/issues/635 to fix the Search Services 403 problem.
### Important Notice about ACS 7.1
#### Share Version Number
@@ -71,11 +85,13 @@ 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.
Depending on the Platform version desired, you might need to use SDK 4.1 or SDK 4.3 instead of SDK 4.4.
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 4.10, 4.11, 4.12, 4.13, 4.14 instead of SDK 4.15.0.
- For Enterprise and Community versions of 7.x, SDK 4.4 must be used
- For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used
- For Enterprise and Community versions of 6.0.x, 6.1.x, 6.2.x older than November 2020, SDK 4.1 must be used
- For Enterprise and Community versions of 25.1.x and 25.2.x, SDK 4.12 or 4.13 must be used
- For Enterprise and Community versions of 26.1.x, SDK 4.14 must be used
It's also important to remember that:
@@ -85,22 +101,33 @@ It's also important to remember that:
- Enterprise Docker images are published on *Quay.io*
### Latest Documentation
To get started with **Alfresco SDK 4.4.x** (latest) visit the [Alfresco Documentation](docs/README.md).
To get started with **Alfresco SDK 4.14.x** (latest) visit the [Alfresco Documentation](docs/README.md).
#### Documentation about Previous Versions
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
| ------------- |:-------------:| :-----:|:-----|
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|-------------|:------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| SDK 4.15.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.14.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x / 26.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.13.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.12.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x / 25.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.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.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
## Reporting Issues and Community Support
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).
@@ -147,3 +174,17 @@ To test new unreleased (unsupported) features, you can use the following snippet
## For Developers that want to contribute to the SDK
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
## Publishing the release on Maven Central
- Manually change the version from SNAPSHOT to final (eg. when releasing SDK 4.16.0, replacing all the occurrences of 4.16.0-SNAPSHOT with 4.16.0)
- Commit and push changes to GitHub with the commit message [publish], then it will automatically publish your artifacts to maven central
- Only GA versions is published to maven central, there is a check in the CI pipeline (called "check_version") to check if the version is non-GA or not, and if it's not, it will skip the "publish" step. Therefore, only "number.number.number" versions will be published to maven central, and any version with a suffix (eg. -Ax, -SNAPSHOT, -RC1, -beta-1) will not be published to maven central.
At this point, we need to manually proceed with the remaining steps:
1- Manually create a release tag on GitHub
2- Manually change the version from final to next SNAPSHOT (eg. replacing all the occurrences of 4.15.0-SNAPSHOT with 4.16.0 (in pom.xml, not in READMEs - if not needed)
3- Commit and push on GitHub
@@ -11,7 +11,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -1,6 +1,6 @@
# Alfresco AIO Project - SDK 4.4
# Alfresco AIO Project - SDK 4.11.0
This is an All-In-One (AIO) project for Alfresco SDK 4.4.
This is an All-In-One (AIO) project for Alfresco SDK 4.11.0.
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
@@ -43,4 +43,4 @@ All the services of the project are now run as docker containers. The run script
# TODO
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
* Functional/remote unit tests
* Functional/remote unit tests
@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>${artifactId}</artifactId>
<name>Integration Tests Module</name>
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.4</description>
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.11.0</description>
<packaging>jar</packaging> <!-- Note. this just runs Integration Tests, but it needs to be a JAR otherwise
nothing is compiled (i.e. you cannot set it to pom) -->
@@ -73,4 +73,4 @@
</plugin>
</plugins>
</build>
</project>
</project>
@@ -14,10 +14,16 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
COPY alfresco-global.properties $TOMCAT_DIR/shared/classes/alfresco-global.properties
COPY dev-log4j.properties $TOMCAT_DIR/shared/classes/alfresco/extension
COPY dev-log4j2.properties $TOMCAT_DIR/shared/classes/alfresco/extension/dev-log4j2.properties
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
# Copy Dockerfile to avoid an error if no license file exists
COPY Dockerfile license/*.* $TOMCAT_DIR/webapps/alfresco/WEB-INF/classes/alfresco/extension/license/
# Move the log file
RUN sed -i -e "s_appender.rolling.fileName\=alfresco.log_appender.rolling.fileName\=${TOMCAT_DIR}/logs\/alfresco.log_" \
${TOMCAT_DIR}/shared/classes/alfresco/extension/dev-log4j2.properties && \
sed -i -e "s_appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}_appender.rolling.filePattern\=${TOMCAT_DIR}/logs\/alfresco.log.%d{yyyy-MM-dd}_" \
${TOMCAT_DIR}/shared/classes/alfresco/extension/dev-log4j2.properties
USER ${USERNAME}
@@ -1,270 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=logs/alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
# Hibernate
log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
log4j.logger.org.hibernate.type=warn
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# Axis/WSS4J
log4j.logger.org.apache.axis=info
log4j.logger.org.apache.ws=info
# CXF
log4j.logger.org.apache.cxf=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# OpenOfficeConnection
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.repo.admin=info
log4j.logger.org.alfresco.repo.transaction=warn
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
log4j.logger.org.alfresco.repo.model.filefolder=warn
log4j.logger.org.alfresco.repo.tenant=info
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
log4j.logger.org.alfresco.repo.management.subsystems=warn
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
log4j.logger.org.alfresco.repo.security.sync=info
log4j.logger.org.alfresco.repo.security.person=info
log4j.logger.org.alfresco.sample=info
log4j.logger.org.alfresco.web=info
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
#log4j.logger.org.alfresco.web.bean.clipboard=debug
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
#log4j.logger.org.alfresco.web.page=debug
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
# Specific patches
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
log4j.logger.org.alfresco.enterprise.repo.cluster=info
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
log4j.logger.org.alfresco.repo.node.db.NodeStringLengthWorker=info
log4j.logger.org.alfresco.repo.workflow=info
# CIFS server debugging
log4j.logger.org.alfresco.smb.protocol=error
#log4j.logger.org.alfresco.smb.protocol.auth=debug
#log4j.logger.org.alfresco.acegi=debug
# FTP server debugging
log4j.logger.org.alfresco.ftp.protocol=error
#log4j.logger.org.alfresco.ftp.server=debug
# WebDAV debugging
#log4j.logger.org.alfresco.webdav.protocol=debug
log4j.logger.org.alfresco.webdav.protocol=info
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Kerberos servlet filters
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
# File servers
log4j.logger.org.alfresco.fileserver=warn
# Repo filesystem debug logging
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
log4j.logger.org.alfresco.repo.node.integrity=ERROR
# Indexer debugging
log4j.logger.org.alfresco.repo.search.Indexer=error
#log4j.logger.org.alfresco.repo.search.Indexer=debug
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
log4j.logger.alfresco.missingProperties=warn
# Dictionary/Model debugging
log4j.logger.org.alfresco.repo.dictionary=warn
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
# Virtualization Server Registry
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
# Spring context runtime property setter
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
# Debugging options for clustering
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
log4j.logger.org.alfresco.repo.content.replication=error
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
# Activity service
log4j.logger.org.alfresco.repo.activities=warn
# User usage tracking
log4j.logger.org.alfresco.repo.usage=info
# Sharepoint
log4j.logger.org.alfresco.module.vti=info
# Forms Engine
log4j.logger.org.alfresco.web.config.forms=info
log4j.logger.org.alfresco.web.scripts.forms=info
# CMIS
log4j.logger.org.alfresco.opencmis=error
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
log4j.logger.org.alfresco.cmis=error
log4j.logger.org.alfresco.cmis.dictionary=warn
log4j.logger.org.apache.chemistry.opencmis=info
log4j.logger.org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet=OFF
log4j.logger.org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet=OFF
# IMAP
log4j.logger.org.alfresco.repo.imap=info
# JBPM
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
#log4j.logger.org.alfresco.repo.googledocs=debug
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Repository
log4j.logger.org.alfresco.repo.web.scripts=warn
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
log4j.logger.org.alfresco.repo.jscript=error
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
log4j.logger.org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl=off
log4j.logger.org.alfresco.repo.domain.schema.script.ScriptExecutorImpl=info
log4j.logger.org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl=info
# Bulk Filesystem Import Tool
log4j.logger.org.alfresco.repo.bulkimport=warn
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
# Metadata extraction
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
# Reduces PDFont error level due to ALF-7105
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
# no index support
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
# lucene index warnings
log4j.logger.org.alfresco.repo.search.impl.lucene.index.IndexInfo=warn
# Warn about RMI socket bind retries.
log4j.logger.org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory=warn
log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
# Authorization
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
#-----------------------------------------------------------------------
# Platform module logging
#-----------------------------------------------------------------------
log4j.logger.${package}.platformsample.DemoComponent=debug
log4j.logger.${package}.platformsample.HelloWorldWebScript=debug
@@ -0,0 +1,412 @@
rootLogger.level=error
rootLogger.appenderRef.stdout.ref=ConsoleAppender
rootLogger.appenderRef.rolling.ref=RollingAppender
# All outputs currently set to be a ConsoleAppender.
appender.console.type=Console
appender.console.name=ConsoleAppender
appender.console.layout.type=PatternLayout
# use log4j NDC to replace %x with tenant domain / username
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
# File appender definition #
appender.rolling.type=RollingFile
appender.rolling.name=RollingAppender
appender.rolling.fileName=alfresco.log
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4J2HierarchyInit)
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
# Log4j2 addLoggerMBean as long as the logger exists and has been loaded.
# Hibernate
logger.hibernate.name=org.hibernate
logger.hibernate.level=error
logger.hibernate-util-JDBCExceptionReporter.name=org.hibernate.util.JDBCExceptionReporter
logger.hibernate-util-JDBCExceptionReporter.level=fatal
logger.hibernate-event-def-AbstractFlushingEventListener.name=org.hibernate.event.def.AbstractFlushingEventListener
logger.hibernate-event-def-AbstractFlushingEventListener.level=fatal
logger.hibernate-type.name=org.hibernate.type
logger.hibernate-type.level=warn
logger.hibernate-cfg-SettingsFactory.name=org.hibernate.cfg.SettingsFactory
logger.hibernate-cfg-SettingsFactory.level=warn
# Spring
logger.springframework.name=org.springframework
logger.springframework.level=warn
# Turn off Spring remoting warnings that should really be info or debug.
logger.springframework-remoting-support.name=org.springframework.remoting.support
logger.springframework-remoting-support.level=error
logger.springframework-util.name=org.springframework.util
logger.springframework-util.level=error
# Axis/WSS4J
logger.apache-axis.name=org.apache.axis
logger.apache-axis.level=info
logger.apache-ws.name=org.apache.ws
logger.apache-ws.level=info
# CXF
logger.apache-cxf.name=org.apache.cxf
logger.apache-cxf.level=error
# MyFaces
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
logger.apache-myfaces-util-DebugUtils.level=info
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
logger.apache-myfaces-el-VariableResolverImpl.level=error
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
logger.apache-myfaces-taglib.level=error
# OpenOfficeConnection
logger.sf-jooreports-openoffice-connection.name=net.sf.jooreports.openoffice.connection
logger.sf-jooreports-openoffice-connection.level=fatal
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
logger.alfresco.name=org.alfresco
logger.alfresco.level=error
logger.alfresco-repo-admin.name=org.alfresco.repo.admin
logger.alfresco-repo-admin.level=info
logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
logger.alfresco-repo-transaction.level=warn
logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
logger.alfresco-repo-cache-TransactionalCache.level=warn
logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
logger.alfresco-repo-model-filefolder.level=warn
logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
logger.alfresco-repo-tenant.level=info
logger.alfresco-config.name=org.alfresco.config
logger.alfresco-config.level=warn
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
logger.alfresco-config-JndiObjectFactoryBean.level=warn
logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
logger.alfresco-repo-management-subsystems.level=warn
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
logger.alfresco-repo-security-sync.level=info
logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
logger.alfresco-repo-security-person.level=info
logger.alfresco-sample.name=org.alfresco.sample
logger.alfresco-sample.level=info
logger.alfresco-web.name=org.alfresco.web
logger.alfresco-web.level=info
logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
logger.alfresco-service-descriptor-DescriptorService.level=info
logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
logger.alfresco-repo-importer-ImporterBootstrap.level=error
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
logger.alfresco-repo-admin-patch-PatchExecuter.name=org.alfresco.repo.admin.patch.PatchExecuter
logger.alfresco-repo-admin-patch-PatchExecuter.level=info
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.name=org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.level=info
# Specific patches
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.name=org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.level=info
logger.alfresco-repo-version-VersionMigrator.name=org.alfresco.repo.version.VersionMigrator
logger.alfresco-repo-version-VersionMigrator.level=info
logger.alfresco-repo-module-ModuleServiceImpl.name=org.alfresco.repo.module.ModuleServiceImpl
logger.alfresco-repo-module-ModuleServiceImpl.level=info
logger.alfresco-repo-domain-schema-SchemaBootstrap.name=org.alfresco.repo.domain.schema.SchemaBootstrap
logger.alfresco-repo-domain-schema-SchemaBootstrap.level=info
logger.alfresco-repo-admin-ConfigurationChecker.name=org.alfresco.repo.admin.ConfigurationChecker
logger.alfresco-repo-admin-ConfigurationChecker.level=info
logger.alfresco-repo-node-index-AbstractReindexComponent.name=org.alfresco.repo.node.index.AbstractReindexComponent
logger.alfresco-repo-node-index-AbstractReindexComponent.level=warn
logger.alfresco-repo-node-index-IndexTransactionTracker.name=org.alfresco.repo.node.index.IndexTransactionTracker
logger.alfresco-repo-node-index-IndexTransactionTracker.level=warn
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.name=org.alfresco.repo.node.index.FullIndexRecoveryComponent
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.level=info
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.name=org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.level=warn
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.name=org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.level=warn
logger.alfresco-repo-transaction-RetryingTransactionHelper.name=org.alfresco.repo.transaction.RetryingTransactionHelper
logger.alfresco-repo-transaction-RetryingTransactionHelper.level=warn
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.name=org.alfresco.util.transaction.SpringAwareUserTransaction.trace
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.level=warn
logger.alfresco-util-AbstractTriggerBean.name=org.alfresco.util.AbstractTriggerBean
logger.alfresco-util-AbstractTriggerBean.level=warn
logger.alfresco-enterprise-repo-cluster.name=org.alfresco.enterprise.repo.cluster
logger.alfresco-enterprise-repo-cluster.level=info
logger.alfresco-repo-version-Version2ServiceImpl.name=org.alfresco.repo.version.Version2ServiceImpl
logger.alfresco-repo-version-Version2ServiceImpl.level=warn
#logger.alfresco-web-app-DebugPhaseListener.name=org.alfresco.web.app.DebugPhaseListener
#logger.alfresco-web-app-DebugPhaseListener.level=debug
logger.alfresco-repo-node-db-NodeStringLengthWorker.name=org.alfresco.repo.node.db.NodeStringLengthWorker
logger.alfresco-repo-node-db-NodeStringLengthWorker.level=info
logger.alfresco-repo-workflow.name=org.alfresco.repo.workflow
logger.alfresco-repo-workflow.level=info
# FTP server debugging
logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
logger.alfresco-ftp-protocol.level=error
# WebDAV debugging
logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
logger.alfresco-webdav-protocol.level=info
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Kerberos servlet filters
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
# File servers
logger.alfresco-fileserver.name=org.alfresco.fileserver
logger.alfresco-fileserver.level=warn
# Repo filesystem debug logging
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
logger.alfresco-repo-node-integrity.name=org.alfresco.repo.node.integrity
logger.alfresco-repo-node-integrity.level=error
# Indexer debugging
logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
logger.alfresco-repo-search-Indexer.level=error
logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
logger.alfresco-repo-search-impl-lucene-index.level=error
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.name=org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.level=warn
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
logger.missingProperties.name=alfresco.missingProperties
logger.missingProperties.level=warn
# Dictionary/Model debugging
logger.alfresco-repo-dictionary.name=org.alfresco.repo.dictionary
logger.alfresco-repo-dictionary.level=warn
# Virtualization Server Registry
logger.alfresco-mbeans-VirtServerRegistry.name=org.alfresco.mbeans.VirtServerRegistry
logger.alfresco-mbeans-VirtServerRegistry.level=error
# Spring context runtime property setter
logger.alfresco-util-RuntimeSystemPropertiesSetter.name=org.alfresco.util.RuntimeSystemPropertiesSetter
logger.alfresco-util-RuntimeSystemPropertiesSetter.level=info
# Debugging options for clustering
logger.alfresco-repo-content-ReplicatingContentStore.name=org.alfresco.repo.content.ReplicatingContentStore
logger.alfresco-repo-content-ReplicatingContentStore.level=error
logger.alfresco-repo-content-replication.name=org.alfresco.repo.content.replication
logger.alfresco-repo-content-replication.level=error
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
# Activity service
logger.alfresco-repo-activities.name=org.alfresco.repo.activities
logger.alfresco-repo-activities.level=warn
# User usage tracking
logger.alfresco-repo-usage.name=org.alfresco.repo.usage
logger.alfresco-repo-usage.level=info
# Sharepoint
logger.alfresco-module-vti.name=org.alfresco.module.vti
logger.alfresco-module-vti.level=info
# Forms Engine
logger.alfresco-web-config-forms.name=org.alfresco.web.config.forms
logger.alfresco-web-config-forms.level=info
logger.alfresco-web-scripts-forms.name=org.alfresco.web.scripts.forms
logger.alfresco-web-scripts-forms.level=info
# CMIS
logger.alfresco-opencmis.name=org.alfresco.opencmis
logger.alfresco-opencmis.level=error
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.name=org.alfresco.opencmis.AlfrescoCmisServiceInterceptor
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.level=error
logger.alfresco-cmis.name=org.alfresco.cmis
logger.alfresco-cmis.level=error
logger.alfresco-cmis-dictionary.name=org.alfresco.cmis.dictionary
logger.alfresco-cmis-dictionary.level=warn
logger.apache-chemistry-opencmis.name=org.apache.chemistry.opencmis
logger.apache-chemistry-opencmis.level=info
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.name=org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.level=off
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.name=org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.level=off
# IMAP
logger.alfresco-repo-imap.name=org.alfresco.repo.imap
logger.alfresco-repo-imap.level=info
# JBPM
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
logger.jbpm-graph-def-GraphElement.name=org.jbpm.graph.def.GraphElement
logger.jbpm-graph-def-GraphElement.level=fatal
# Web Framework
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
logger.springframework-extensions-webscripts.level=info
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
# Repository
logger.alfresco-repo-web-scripts.name=org.alfresco.repo.web.scripts
logger.alfresco-repo-web-scripts.level=warn
logger.alfresco-repo-web-scripts-BaseWebScriptTest.name=org.alfresco.repo.web.scripts.BaseWebScriptTest
logger.alfresco-repo-web-scripts-BaseWebScriptTest.level=info
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.name=org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.level=off
logger.alfresco-repo-jscript.name=org.alfresco.repo.jscript
logger.alfresco-repo-jscript.level=error
logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
logger.alfresco-repo-jscript-ScriptLogger.level=warn
logger.alfresco-repo-cmis-rest-CMISTest.name=org.alfresco.repo.cmis.rest.CMISTest
logger.alfresco-repo-cmis-rest-CMISTest.level=info
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.level=off
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptExecutorImpl
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.level=info
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.name=org.alfresco.repo.domain.schema.script.DeleteNotExistsExecutor
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.level=off
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.name=org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.level=info
# Bulk Filesystem Import Tool
logger.alfresco-repo-bulkimport.name=org.alfresco.repo.bulkimport
logger.alfresco-repo-bulkimport.level=warn
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
logger.runtime.name=freemarker.runtime
logger.runtime.level=
# Metadata extraction
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.name=org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.level=warn
# Reduces PDFont error level due to ALF-7105
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.name=org.apache.pdfbox.pdmodel.font.PDSimpleFont
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.level=fatal
logger.apache-pdfbox-pdmodel-font-PDCIDFont.name=org.apache.pdfbox.pdmodel.font.PDCIDFont
logger.apache-pdfbox-pdmodel-font-PDCIDFont.level=fatal
# no index support
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.name=org.alfresco.repo.search.impl.noindex.NoIndexIndexer
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.level=fatal
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.name=org.alfresco.repo.search.impl.noindex.NoIndexSearchService
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.level=fatal
# lucene index warnings
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.name=org.alfresco.repo.search.impl.lucene.index.IndexInfo
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.level=warn
# Warn about RMI socket bind retries.
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.name=org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.level=warn
logger.alfresco-repo-usage-RepoUsageMonitor.name=org.alfresco.repo.usage.RepoUsageMonitor
logger.alfresco-repo-usage-RepoUsageMonitor.level=info
# Authorization
logger.alfresco-enterprise-repo-authorization-AuthorizationService.name=org.alfresco.enterprise.repo.authorization.AuthorizationService
logger.alfresco-enterprise-repo-authorization-AuthorizationService.level=info
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.name=org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.level=warn
#-----------------------------------------------------------------------
# Platform module logging
#-----------------------------------------------------------------------
logger.platformsample-DemoComponent.name=${package}.platformsample.DemoComponent
logger.platformsample-DemoComponent.level=debug
logger.platformsample-HelloWorldWebScript.name=${package}.platformsample.HelloWorldWebScript
logger.platformsample-HelloWorldWebScript.level=debug
@@ -3,8 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>${artifactId}</artifactId>
<name>Alfresco Platform/Repository JAR Module</name>
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.4
</description>
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.11.0</description>
<packaging>jar</packaging>
<parent>
@@ -28,4 +27,4 @@
</plugins>
</build>
</project>
</project>
@@ -35,9 +35,9 @@
<source>src/main/assembly/file-mapping.properties</source>
<filtered>false</filtered>
</file>
<!-- Add module-specific log4j.properties configuration at top level in the AMP -->
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j.properties</source>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
<filtered>false</filtered>
</file>
</files>
@@ -12,5 +12,5 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
COPY log4j.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
@@ -1,57 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
# File appender definition #
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=share.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.web=info
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
@@ -0,0 +1,89 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
#log4j.rootLogger=error, Console, File
rootLogger.level=error
rootLogger.appenderRef.stdout.ref=ConsoleAppender
rootLogger.appenderRef.rolling.ref=RollingAppender
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
appender.console.type=Console
appender.console.name=ConsoleAppender
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
# use log4j NDC to replace %x with tenant domain / username
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
# File appender definition #
appender.rolling.type=RollingFile
appender.rolling.name=RollingAppender
appender.rolling.fileName=alfresco.log
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
# Spring
logger.springframework.name=org.springframework
logger.springframework.level=warn
# Turn off Spring remoting warnings that should really be info or debug.
logger.springframework-remoting-support.name=org.springframework.remoting.support
logger.springframework-remoting-support.level=error
logger.springframework-util.name=org.springframework.util
logger.springframework-util.level=error
# MyFaces
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
logger.apache-myfaces-util-DebugUtils.level=info
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
logger.apache-myfaces-el-VariableResolverImpl.level=error
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
logger.apache-myfaces-taglib.level=error
# Alfresco
logger.alfresco.name=org.alfresco
logger.alfresco.level=error
logger.alfresco-config.name=org.alfresco.config
logger.alfresco-config.level=warn
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
logger.alfresco-config-JndiObjectFactoryBean.level=warn
logger.alfresco-web.name=org.alfresco.web
logger.alfresco-web.level=info
# Web Framework
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
logger.springframework-extensions-webscripts.level=info
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
logger.freemarker-runtime.name=freemarker.runtime
logger.freemarker-runtime.level=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
@@ -101,5 +101,13 @@
</endpoint>
</remote>
</config>
<config evaluator="string-compare" condition="Users" replace="true">
<users>
<username-min-length>2</username-min-length>
<password-min-length>3</password-min-length>
<show-authorization-status>false</show-authorization-status>
</users>
<enable-external-users-panel>false</enable-external-users-panel>
</config>
</alfresco-config>
@@ -5,7 +5,7 @@
<artifactId>${artifactId}</artifactId>
<name>Alfresco Share JAR Module</name>
<packaging>jar</packaging>
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.4</description>
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.11.0</description>
<parent>
<groupId>${groupId}</groupId>
@@ -36,4 +36,4 @@
</plugins>
</build>
</project>
</project>
@@ -35,9 +35,9 @@
<source>src/main/assembly/file-mapping.properties</source>
<filtered>false</filtered>
</file>
<!-- Add module-specific log4j.properties configuration at top level in the AMP -->
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j.properties</source>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
<filtered>false</filtered>
</file>
</files>
@@ -21,6 +21,8 @@ services:
environment:
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
JAVA_OPTS: "
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
"
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
@@ -32,7 +34,7 @@ services:
depends_on:
- ${rootArtifactId}-postgres
${rootArtifactId}-postgres:
image: postgres:9.6
image: postgres:16.5
environment:
POSTGRES_DB: alfresco
POSTGRES_USER: alfresco
@@ -43,20 +45,22 @@ services:
volumes:
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
${rootArtifactId}-ass:
image: alfresco/alfresco-search-services:1.2.0
image: alfresco/alfresco-search-services:2.0.15
environment:
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
SOLR_ALFRESCO_PORT: 8080
SOLR_SOLR_HOST: ${rootArtifactId}-ass
SOLR_SOLR_PORT: 8983
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
ALFRESCO_SECURE_COMMS: "secret"
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
ports:
- "8983:8983"
volumes:
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
${rootArtifactId}-activemq:
image: alfresco/alfresco-activemq:5.16.1
image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8
mem_limit: 1g
ports:
- 8161:8161 # Web Console
@@ -5,8 +5,8 @@
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>AIO - SDK 4.4</name>
<description>All-In-One (AIO) project for SDK 4.4</description>
<name>AIO - SDK 4.15.0</name>
<description>All-In-One (AIO) project for SDK 4.15.0</description>
<packaging>pom</packaging>
<prerequisites>
@@ -59,8 +59,8 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<artifactId>mockito-core</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -217,7 +217,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M1</version>
<version>3.5.5</version>
<executions>
<execution>
<id>integration-test</id>
@@ -287,51 +287,65 @@
</executions>
</plugin>
<!-- Compress JavaScript files and store as *-min.js -->
<!-- Compress JavaScript files and store as *.min.js -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<groupId>com.github.blutorange</groupId>
<artifactId>closure-compiler-maven-plugin</artifactId>
<version>2.28.0</version>
<executions>
<!-- Compress the JS files under the assembly folder -->
<execution>
<id>compress-assembly</id>
<phase>generate-resources</phase>
<goals>
<goal>compress</goal>
<goal>minify</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/assembly/web</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/assembly/web</outputDirectory>
<baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir>
<baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir>
<sourceDir>web</sourceDir>
<targetDir>web</targetDir>
<skipMerge>true</skipMerge>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/webscripts/**</exclude>
<exclude>**/site-webscripts/**</exclude>
<exclude>**/META-INF/**</exclude>
<exclude>**/*.lib.js</exclude>
<exclude>**/*.css</exclude>
<exclude>**/*-min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</execution>
<!-- Compress the JS files under the resources folder -->
<execution>
<id>compress-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>compress</goal>
<goal>minify</goal>
</goals>
<configuration>
<baseSourceDir>${project.basedir}/src/main</baseSourceDir>
<baseTargetDir>${project.basedir}/src/main</baseTargetDir>
<sourceDir>resources</sourceDir>
<targetDir>resources</targetDir>
<skipMerge>true</skipMerge>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/webscripts/**</exclude>
<exclude>**/site-webscripts/**</exclude>
<exclude>**/*.lib.js</exclude>
<exclude>**/*.css</exclude>
<exclude>**/*-min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</execution>
</executions>
@@ -397,7 +411,7 @@
<profile>
<id>java11</id>
<activation>
<jdk>[11.0,)</jdk>
<jdk>[11.0,17)</jdk>
</activation>
<build>
<plugins>
@@ -412,6 +426,24 @@
</plugins>
</build>
</profile>
<profile>
<id>java17</id>
<activation>
<jdk>[17,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>17</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!--
@@ -83,37 +83,37 @@ EXIT /B %ERRORLEVEL%
docker volume create ${rootArtifactId}-acs-volume
docker volume create ${rootArtifactId}-db-volume
docker volume create ${rootArtifactId}-ass-volume
docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d
EXIT /B 0
:start_share
docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-share
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-share
EXIT /B 0
:start_acs
docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-acs
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-acs
EXIT /B 0
:down
if exist "%COMPOSE_FILE_PATH%" (
docker-compose -f "%COMPOSE_FILE_PATH%" down
docker compose -f "%COMPOSE_FILE_PATH%" down
)
EXIT /B 0
:build
call %MVN_EXEC% clean package
EXIT /B 0
:build_share
docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share
docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share
call %MVN_EXEC% clean package -pl ${rootArtifactId}-share,${rootArtifactId}-share-docker
EXIT /B 0
:build_acs
docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-acs
docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-acs
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-acs
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-acs
call %MVN_EXEC% clean package -pl ${rootArtifactId}-integration-tests,${rootArtifactId}-platform,${rootArtifactId}-platform-docker
EXIT /B 0
:tail
docker-compose -f "%COMPOSE_FILE_PATH%" logs -f
docker compose -f "%COMPOSE_FILE_PATH%" logs -f
EXIT /B 0
:tail_all
docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
EXIT /B 0
:prepare-test
call %MVN_EXEC% verify -DskipTests=true -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests,${rootArtifactId}-platform-docker
@@ -13,20 +13,20 @@ start() {
docker volume create ${rootArtifactId}-acs-volume
docker volume create ${rootArtifactId}-db-volume
docker volume create ${rootArtifactId}-ass-volume
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
}
start_share() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-share
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-share
}
start_acs() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-acs
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-acs
}
down() {
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
fi
}
@@ -41,23 +41,23 @@ build() {
}
build_share() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-share
yes | docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-share
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-share
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-share
${symbol_dollar}MVN_EXEC clean package -pl ${rootArtifactId}-share,${rootArtifactId}-share-docker
}
build_acs() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-acs
yes | docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-acs
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-acs
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-acs
${symbol_dollar}MVN_EXEC clean package -pl ${rootArtifactId}-integration-tests,${rootArtifactId}-platform,${rootArtifactId}-platform-docker
}
tail() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
}
tail_all() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
}
prepare_test() {
@@ -12,7 +12,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -1,6 +1,6 @@
# Alfresco ACS JAR Module - SDK 4.4
# Alfresco ACS JAR Module - SDK 4.11.0
This is an ACS project for Alfresco SDK 4.4.
This is an ACS project for Alfresco SDK 4.11.0.
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
@@ -41,4 +41,4 @@ All the services of the project are now run as docker containers. The run script
# TODO
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
* Functional/remote unit tests
* Functional/remote unit tests
@@ -17,6 +17,8 @@ services:
environment:
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
JAVA_OPTS: "
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
"
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
@@ -28,7 +30,7 @@ services:
depends_on:
- ${rootArtifactId}-postgres
${rootArtifactId}-postgres:
image: postgres:9.6
image: postgres:16.5
environment:
POSTGRES_DB: alfresco
POSTGRES_USER: alfresco
@@ -39,20 +41,22 @@ services:
volumes:
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
${rootArtifactId}-ass:
image: alfresco/alfresco-search-services:1.2.0
image: alfresco/alfresco-search-services:2.0.15
environment:
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
SOLR_ALFRESCO_PORT: 8080
SOLR_SOLR_HOST: ${rootArtifactId}-ass
SOLR_SOLR_PORT: 8983
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
ALFRESCO_SECURE_COMMS: "secret"
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
ports:
- "8983:8983"
volumes:
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
${rootArtifactId}-activemq:
image: alfresco/alfresco-activemq:5.16.1
image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8
mem_limit: 1g
ports:
- 8161:8161 # Web Console
@@ -55,8 +55,8 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
<artifactId>mockito-core</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -324,7 +324,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M1</version>
<version>3.5.5</version>
<configuration>
<systemPropertyVariables>
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
@@ -355,56 +355,69 @@
</dependencies>
</plugin>
<!-- Compress JavaScript files and store as *-min.js -->
<!-- Compress JavaScript files and store as *.min.js -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<groupId>com.github.blutorange</groupId>
<artifactId>closure-compiler-maven-plugin</artifactId>
<version>2.28.0</version>
<executions>
<!-- Compress the JS files under the assembly folder -->
<execution>
<id>compress-assembly</id>
<phase>generate-resources</phase>
<goals>
<goal>compress</goal>
<goal>minify</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/assembly/web</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/assembly/web</outputDirectory>
<baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir>
<baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir>
<sourceDir>web</sourceDir>
<targetDir>web</targetDir>
<skipMerge>true</skipMerge>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/webscripts/**</exclude>
<exclude>**/site-webscripts/**</exclude>
<exclude>**/META-INF/**</exclude>
<exclude>**/*.lib.js</exclude>
<exclude>**/*.css</exclude>
<exclude>**/*-min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</execution>
<!-- Compress the JS files under the resources folder -->
<execution>
<id>compress-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>compress</goal>
<goal>minify</goal>
</goals>
<configuration>
<baseSourceDir>${project.basedir}/src/main</baseSourceDir>
<baseTargetDir>${project.basedir}/src/main</baseTargetDir>
<sourceDir>resources</sourceDir>
<targetDir>resources</targetDir>
<skipMerge>true</skipMerge>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/webscripts/**</exclude>
<exclude>**/site-webscripts/**</exclude>
<exclude>**/*.lib.js</exclude>
<exclude>**/*.css</exclude>
<exclude>**/*-min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</execution>
</executions>
</plugin>
<!-- Hot reloading with JRebel -->
<plugin>
<groupId>org.zeroturnaround</groupId>
@@ -481,7 +494,7 @@
<profile>
<id>java11</id>
<activation>
<jdk>[11.0,)</jdk>
<jdk>[11.0, 17)</jdk>
</activation>
<build>
<plugins>
@@ -496,6 +509,24 @@
</plugins>
</build>
</profile>
<profile>
<id>java17</id>
<activation>
<jdk>[17,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>17</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!--
@@ -71,21 +71,21 @@ EXIT /B %ERRORLEVEL%
docker volume create ${rootArtifactId}-acs-volume
docker volume create ${rootArtifactId}-db-volume
docker volume create ${rootArtifactId}-ass-volume
docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d
EXIT /B 0
:down
if exist "%COMPOSE_FILE_PATH%" (
docker-compose -f "%COMPOSE_FILE_PATH%" down
docker compose -f "%COMPOSE_FILE_PATH%" down
)
EXIT /B 0
:build
call %MVN_EXEC% clean package
EXIT /B 0
:tail
docker-compose -f "%COMPOSE_FILE_PATH%" logs -f
docker compose -f "%COMPOSE_FILE_PATH%" logs -f
EXIT /B 0
:tail_all
docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
EXIT /B 0
:prepare_test
call %MVN_EXEC% verify -DskipTests=true
@@ -13,12 +13,12 @@ start() {
docker volume create ${rootArtifactId}-acs-volume
docker volume create ${rootArtifactId}-db-volume
docker volume create ${rootArtifactId}-ass-volume
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
}
down() {
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
fi
}
@@ -33,11 +33,11 @@ build() {
}
tail() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
}
tail_all() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
}
prepare_test() {
@@ -35,9 +35,9 @@
<source>src/main/assembly/file-mapping.properties</source>
<filtered>false</filtered>
</file>
<!-- Add module-specific log4j.properties configuration at top level in the AMP -->
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j.properties</source>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
<filtered>false</filtered>
</file>
</files>
@@ -14,7 +14,7 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
COPY alfresco-global.properties $TOMCAT_DIR/shared/classes/alfresco-global.properties
COPY dev-log4j.properties $TOMCAT_DIR/shared/classes/alfresco/extension
COPY dev-log4j2.properties $TOMCAT_DIR/shared/classes/alfresco/extension
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
# Copy Dockerfile to avoid an error if no license file exists
@@ -1,270 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=logs/alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
# Hibernate
log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
log4j.logger.org.hibernate.type=warn
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# Axis/WSS4J
log4j.logger.org.apache.axis=info
log4j.logger.org.apache.ws=info
# CXF
log4j.logger.org.apache.cxf=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# OpenOfficeConnection
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.repo.admin=info
log4j.logger.org.alfresco.repo.transaction=warn
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
log4j.logger.org.alfresco.repo.model.filefolder=warn
log4j.logger.org.alfresco.repo.tenant=info
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
log4j.logger.org.alfresco.repo.management.subsystems=warn
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
log4j.logger.org.alfresco.repo.security.sync=info
log4j.logger.org.alfresco.repo.security.person=info
log4j.logger.org.alfresco.sample=info
log4j.logger.org.alfresco.web=info
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
#log4j.logger.org.alfresco.web.bean.clipboard=debug
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
#log4j.logger.org.alfresco.web.page=debug
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
# Specific patches
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
log4j.logger.org.alfresco.enterprise.repo.cluster=info
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
log4j.logger.org.alfresco.repo.node.db.NodeStringLengthWorker=info
log4j.logger.org.alfresco.repo.workflow=info
# CIFS server debugging
log4j.logger.org.alfresco.smb.protocol=error
#log4j.logger.org.alfresco.smb.protocol.auth=debug
#log4j.logger.org.alfresco.acegi=debug
# FTP server debugging
log4j.logger.org.alfresco.ftp.protocol=error
#log4j.logger.org.alfresco.ftp.server=debug
# WebDAV debugging
#log4j.logger.org.alfresco.webdav.protocol=debug
log4j.logger.org.alfresco.webdav.protocol=info
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Kerberos servlet filters
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
# File servers
log4j.logger.org.alfresco.fileserver=warn
# Repo filesystem debug logging
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
log4j.logger.org.alfresco.repo.node.integrity=ERROR
# Indexer debugging
log4j.logger.org.alfresco.repo.search.Indexer=error
#log4j.logger.org.alfresco.repo.search.Indexer=debug
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
log4j.logger.alfresco.missingProperties=warn
# Dictionary/Model debugging
log4j.logger.org.alfresco.repo.dictionary=warn
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
# Virtualization Server Registry
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
# Spring context runtime property setter
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
# Debugging options for clustering
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
log4j.logger.org.alfresco.repo.content.replication=error
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
# Activity service
log4j.logger.org.alfresco.repo.activities=warn
# User usage tracking
log4j.logger.org.alfresco.repo.usage=info
# Sharepoint
log4j.logger.org.alfresco.module.vti=info
# Forms Engine
log4j.logger.org.alfresco.web.config.forms=info
log4j.logger.org.alfresco.web.scripts.forms=info
# CMIS
log4j.logger.org.alfresco.opencmis=error
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
log4j.logger.org.alfresco.cmis=error
log4j.logger.org.alfresco.cmis.dictionary=warn
log4j.logger.org.apache.chemistry.opencmis=info
log4j.logger.org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet=OFF
log4j.logger.org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet=OFF
# IMAP
log4j.logger.org.alfresco.repo.imap=info
# JBPM
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
#log4j.logger.org.alfresco.repo.googledocs=debug
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Repository
log4j.logger.org.alfresco.repo.web.scripts=warn
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
log4j.logger.org.alfresco.repo.jscript=error
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
log4j.logger.org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl=off
log4j.logger.org.alfresco.repo.domain.schema.script.ScriptExecutorImpl=info
log4j.logger.org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl=info
# Bulk Filesystem Import Tool
log4j.logger.org.alfresco.repo.bulkimport=warn
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
# Metadata extraction
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
# Reduces PDFont error level due to ALF-7105
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
# no index support
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
# lucene index warnings
log4j.logger.org.alfresco.repo.search.impl.lucene.index.IndexInfo=warn
# Warn about RMI socket bind retries.
log4j.logger.org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory=warn
log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
# Authorization
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
#-----------------------------------------------------------------------
# Platform module logging
#-----------------------------------------------------------------------
log4j.logger.${package}.platformsample.DemoComponent=debug
log4j.logger.${package}.platformsample.HelloWorldWebScript=debug
@@ -0,0 +1,426 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
#log4j.rootLogger=error, Console, File
rootLogger.level=error
rootLogger.appenderRef.stdout.ref=ConsoleAppender
rootLogger.appenderRef.rolling.ref=RollingAppender
# All outputs currently set to be a ConsoleAppender.
appender.console.type=Console
appender.console.name=ConsoleAppender
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
# use log4j NDC to replace %x with tenant domain / username
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
# File appender definition #
appender.rolling.type=RollingFile
appender.rolling.name=RollingAppender
appender.rolling.fileName=alfresco.log
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
# Hibernate
logger.hibernate.name=org.hibernate
logger.hibernate.level=error
logger.hibernate-util-JDBCExceptionReporter.name=org.hibernate.util.JDBCExceptionReporter
logger.hibernate-util-JDBCExceptionReporter.level=fatal
logger.hibernate-event-def-AbstractFlushingEventListener.name=org.hibernate.event.def.AbstractFlushingEventListener
logger.hibernate-event-def-AbstractFlushingEventListener.level=fatal
logger.hibernate-type.name=org.hibernate.type
logger.hibernate-type.level=warn
logger.hibernate-cfg-SettingsFactory.name=org.hibernate.cfg.SettingsFactory
logger.hibernate-cfg-SettingsFactory.level=warn
# Spring
logger.springframework.name=org.springframework
logger.springframework.level=warn
# Turn off Spring remoting warnings that should really be info or debug.
logger.springframework-remoting-support.name=org.springframework.remoting.support
logger.springframework-remoting-support.level=error
logger.springframework-util.name=org.springframework.util
logger.springframework-util.level=error
# Axis/WSS4J
logger.apache-axis.name=org.apache.axis
logger.apache-axis.level=info
logger.apache-ws.name=org.apache.ws
logger.apache-ws.level=info
# CXF
logger.apache-cxf.name=org.apache.cxf
logger.apache-cxf.level=error
# MyFaces
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
logger.apache-myfaces-util-DebugUtils.level=info
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
logger.apache-myfaces-el-VariableResolverImpl.level=error
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
logger.apache-myfaces-taglib.level=error
# OpenOfficeConnection
logger.sf-jooreports-openoffice-connection.name=net.sf.jooreports.openoffice.connection
logger.sf-jooreports-openoffice-connection.level=fatal
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
logger.alfresco.name=org.alfresco
logger.alfresco.level=error
logger.alfresco-repo-admin.name=org.alfresco.repo.admin
logger.alfresco-repo-admin.level=info
logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
logger.alfresco-repo-transaction.level=warn
logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
logger.alfresco-repo-cache-TransactionalCache.level=warn
logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
logger.alfresco-repo-model-filefolder.level=warn
logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
logger.alfresco-repo-tenant.level=info
logger.alfresco-config.name=org.alfresco.config
logger.alfresco-config.level=warn
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
logger.alfresco-config-JndiObjectFactoryBean.level=warn
logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
logger.alfresco-repo-management-subsystems.level=warn
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
logger.alfresco-repo-security-sync.level=info
logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
logger.alfresco-repo-security-person.level=info
logger.alfresco-sample.name=org.alfresco.sample
logger.alfresco-sample.level=info
logger.alfresco-web.name=org.alfresco.web
logger.alfresco-web.level=info
logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
logger.alfresco-service-descriptor-DescriptorService.level=info
logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
logger.alfresco-repo-importer-ImporterBootstrap.level=error
logger.alfresco-repo-admin-patch-PatchExecuter.name=org.alfresco.repo.admin.patch.PatchExecuter
logger.alfresco-repo-admin-patch-PatchExecuter.level=info
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.name=org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.level=info
# Specific patches
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.name=org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.level=info
logger.alfresco-repo-version-VersionMigrator.name=org.alfresco.repo.version.VersionMigrator
logger.alfresco-repo-version-VersionMigrator.level=info
logger.alfresco-repo-module-ModuleServiceImpl.name=org.alfresco.repo.module.ModuleServiceImpl
logger.alfresco-repo-module-ModuleServiceImpl.level=info
logger.alfresco-repo-domain-schema-SchemaBootstrap.name=org.alfresco.repo.domain.schema.SchemaBootstrap
logger.alfresco-repo-domain-schema-SchemaBootstrap.level=info
logger.alfresco-repo-admin-ConfigurationChecker.name=org.alfresco.repo.admin.ConfigurationChecker
logger.alfresco-repo-admin-ConfigurationChecker.level=info
logger.alfresco-repo-node-index-AbstractReindexComponent.name=org.alfresco.repo.node.index.AbstractReindexComponent
logger.alfresco-repo-node-index-AbstractReindexComponent.level=warn
logger.alfresco-repo-node-index-IndexTransactionTracker.name=org.alfresco.repo.node.index.IndexTransactionTracker
logger.alfresco-repo-node-index-IndexTransactionTracker.level=warn
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.name=org.alfresco.repo.node.index.FullIndexRecoveryComponent
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.level=info
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.name=org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.level=warn
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.name=org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.level=warn
logger.alfresco-repo-transaction-RetryingTransactionHelper.name=org.alfresco.repo.transaction.RetryingTransactionHelper
logger.alfresco-repo-transaction-RetryingTransactionHelper.level=warn
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.name=org.alfresco.util.transaction.SpringAwareUserTransaction.trace
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.level=warn
logger.alfresco-util-AbstractTriggerBean.name=org.alfresco.util.AbstractTriggerBean
logger.alfresco-util-AbstractTriggerBean.level=warn
logger.alfresco-enterprise-repo-cluster.name=org.alfresco.enterprise.repo.cluster
logger.alfresco-enterprise-repo-cluster.level=info
logger.alfresco-repo-version-Version2ServiceImpl.name=org.alfresco.repo.version.Version2ServiceImpl
logger.alfresco-repo-version-Version2ServiceImpl.level=warn
#logger.alfresco-web-app-DebugPhaseListener.name=org.alfresco.web.app.DebugPhaseListener
#logger.alfresco-web-app-DebugPhaseListener.level=debug
logger.alfresco-repo-node-db-NodeStringLengthWorker.name=org.alfresco.repo.node.db.NodeStringLengthWorker
logger.alfresco-repo-node-db-NodeStringLengthWorker.level=info
logger.alfresco-repo-workflow.name=org.alfresco.repo.workflow
logger.alfresco-repo-workflow.level=info
# CIFS server debugging
logger.alfresco-smb-protocol.name=org.alfresco.smb.protocol
logger.alfresco-smb-protocol.level=error
# FTP server debugging
logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
logger.alfresco-ftp-protocol.level=error
# WebDAV debugging
logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
logger.alfresco-webdav-protocol.level=info
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Kerberos servlet filters
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
# File servers
logger.alfresco-fileserver.name=org.alfresco.fileserver
logger.alfresco-fileserver.level=warn
# Repo filesystem debug logging
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
logger.alfresco-repo-node-integrity.name=org.alfresco.repo.node.integrity
logger.alfresco-repo-node-integrity.level=error
# Indexer debugging
logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
logger.alfresco-repo-search-Indexer.level=error
logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
logger.alfresco-repo-search-impl-lucene-index.level=error
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.name=org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.level=warn
# Audit debugging
logger.missingProperties.name=alfresco.missingProperties
logger.missingProperties.level=warn
# Property sheet and modelling debugging
logger.missingProperties.name=alfresco.missingProperties
logger.missingProperties.level=warn
# Dictionary/Model debugging
logger.alfresco-repo-dictionary.name=org.alfresco.repo.dictionary
logger.alfresco-repo-dictionary.level=warn
logger.alfresco-repo-dictionary-types-period.name=org.alfresco.repo.dictionary.types.period
logger.alfresco-repo-dictionary-types-period.level=warn
# Virtualization Server Registry
logger.alfresco-mbeans-VirtServerRegistry.name=org.alfresco.mbeans.VirtServerRegistry
logger.alfresco-mbeans-VirtServerRegistry.level=error
# Spring context runtime property setter
logger.alfresco-util-RuntimeSystemPropertiesSetter.name=org.alfresco.util.RuntimeSystemPropertiesSetter
logger.alfresco-util-RuntimeSystemPropertiesSetter.level=info
# Debugging options for clustering
logger.alfresco-repo-content-ReplicatingContentStore.name=org.alfresco.repo.content.ReplicatingContentStore
logger.alfresco-repo-content-ReplicatingContentStore.level=error
logger.alfresco-repo-content-replication.name=org.alfresco.repo.content.replication
logger.alfresco-repo-content-replication.level=error
# Activity service
logger.alfresco-repo-activities.name=org.alfresco.repo.activities
logger.alfresco-repo-activities.level=warn
# User usage tracking
logger.alfresco-repo-usage.name=org.alfresco.repo.usage
logger.alfresco-repo-usage.level=info
# Sharepoint
logger.alfresco-module-vti.name=org.alfresco.module.vti
logger.alfresco-module-vti.level=info
# Forms Engine
logger.alfresco-web-config-forms.name=org.alfresco.web.config.forms
logger.alfresco-web-config-forms.level=info
logger.alfresco-web-scripts-forms.name=org.alfresco.web.scripts.forms
logger.alfresco-web-scripts-forms.level=info
# CMIS
logger.alfresco-opencmis.name=org.alfresco.opencmis
logger.alfresco-opencmis.level=error
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.name=org.alfresco.opencmis.AlfrescoCmisServiceInterceptor
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.level=error
logger.alfresco-cmis.name=org.alfresco.cmis
logger.alfresco-cmis.level=error
logger.alfresco-cmis-dictionary.name=org.alfresco.cmis.dictionary
logger.alfresco-cmis-dictionary.level=warn
logger.apache-chemistry-opencmis.name=org.apache.chemistry.opencmis
logger.apache-chemistry-opencmis.level=info
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.name=org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.level=off
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.name=org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.level=off
# IMAP
logger.alfresco-repo-imap.name=org.alfresco.repo.imap
logger.alfresco-repo-imap.level=info
# JBPM
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
logger.jbpm-graph-def-GraphElement.name=org.jbpm.graph.def.GraphElement
logger.jbpm-graph-def-GraphElement.level=fatal
# Web Framework
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
logger.springframework-extensions-webscripts.level=info
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
# Repository
logger.alfresco-repo-web-scripts.name=org.alfresco.repo.web.scripts
logger.alfresco-repo-web-scripts.level=warn
logger.alfresco-repo-web-scripts-BaseWebScriptTest.name=org.alfresco.repo.web.scripts.BaseWebScriptTest
logger.alfresco-repo-web-scripts-BaseWebScriptTest.level=info
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.name=org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.level=off
logger.alfresco-repo-jscript.name=org.alfresco.repo.jscript
logger.alfresco-repo-jscript.level=error
logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
logger.alfresco-repo-jscript-ScriptLogger.level=warn
logger.alfresco-repo-cmis-rest-CMISTest.name=org.alfresco.repo.cmis.rest.CMISTest
logger.alfresco-repo-cmis-rest-CMISTest.level=info
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.level=off
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptExecutorImpl
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.level=info
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.name=org.alfresco.repo.domain.schema.script.DeleteNotExistsExecutor
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.level=off
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.name=org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.level=info
# Bulk Filesystem Import Tool
logger.alfresco-repo-bulkimport.name=org.alfresco.repo.bulkimport
logger.alfresco-repo-bulkimport.level=warn
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
logger.runtime.name=freemarker.runtime
logger.runtime.level=
# Metadata extraction
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.name=org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.level=warn
# Reduces PDFont error level due to ALF-7105
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.name=org.apache.pdfbox.pdmodel.font.PDSimpleFont
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.level=fatal
logger.apache-pdfbox-pdmodel-font-PDFont.name=org.apache.pdfbox.pdmodel.font.PDFont
logger.apache-pdfbox-pdmodel-font-PDFont.level=fatal
logger.apache-pdfbox-pdmodel-font-PDCIDFont.name=org.apache.pdfbox.pdmodel.font.PDCIDFont
logger.apache-pdfbox-pdmodel-font-PDCIDFont.level=fatal
# no index support
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.name=org.alfresco.repo.search.impl.noindex.NoIndexIndexer
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.level=fatal
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.name=org.alfresco.repo.search.impl.noindex.NoIndexSearchService
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.level=fatal
# lucene index warnings
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.name=org.alfresco.repo.search.impl.lucene.index.IndexInfo
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.level=warn
# Warn about RMI socket bind retries.
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.name=org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.level=warn
logger.alfresco-repo-usage-RepoUsageMonitor.name=org.alfresco.repo.usage.RepoUsageMonitor
logger.alfresco-repo-usage-RepoUsageMonitor.level=info
# Authorization
logger.alfresco-enterprise-repo-authorization-AuthorizationService.name=org.alfresco.enterprise.repo.authorization.AuthorizationService
logger.alfresco-enterprise-repo-authorization-AuthorizationService.level=info
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.name=org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.level=warn
#-----------------------------------------------------------------------
# Platform module logging
#-----------------------------------------------------------------------
logger.${package}-platformsample-DemoComponent.name=${package}.platformsample.DemoComponent
logger.${package}-platformsample-DemoComponent.level=debug
logger.${package}-platformsample-HelloWorldWebScript.name=${package}.platformsample.HelloWorldWebScript
logger.${package}-platformsample-HelloWorldWebScript.level=debug
@@ -1 +0,0 @@
# Add here module-specific custom log4j.properties configuration
@@ -0,0 +1 @@
# Add here module-specific custom log4j2.properties configuration
@@ -14,7 +14,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -1,6 +1,6 @@
# Alfresco Share JAR Module - SDK 4.4
# Alfresco Share JAR Module - SDK 4.11.0
This is a Share project for Alfresco SDK 4.4.
This is a Share project for Alfresco SDK 4.11.0.
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
@@ -37,4 +37,4 @@ All the services of the project are now run as docker containers. The run script
# TODO
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
* Functional/remote unit tests
* Functional/remote unit tests
@@ -24,7 +24,8 @@ services:
# -Ddb.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco
# -Dsolr.host=${rootArtifactId}-ass
# -Dsolr.port=8983
# -Dsolr.secureComms=none
# -Dsolr.secureComms=secret
# -Dsolr.sharedSecret=secret
# -Dsolr.base.url=/solr
# -Dindex.subsystem.name=solr6
# -Dcsrf.filter.enabled=false
@@ -52,13 +53,15 @@ services:
# volumes:
# - ${rootArtifactId}-db-volume:/var/lib/postgresql/data
# ${rootArtifactId}-ass:
# image: alfresco/alfresco-search-services:1.2.0
# image: alfresco/alfresco-search-services:2.0.3
# environment:
# SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
# SOLR_ALFRESCO_PORT: 8080
# SOLR_SOLR_HOST: ${rootArtifactId}-ass
# SOLR_SOLR_PORT: 8983
# SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
# ALFRESCO_SECURE_COMMS: "secret"
# JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
# ports:
# - "8983:8983"
# volumes:
@@ -221,51 +221,65 @@
</executions>
</plugin>
<!-- Compress JavaScript files and store as *-min.js -->
<!-- Compress JavaScript files and store as *.min.js -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<groupId>com.github.blutorange</groupId>
<artifactId>closure-compiler-maven-plugin</artifactId>
<version>2.28.0</version>
<executions>
<!-- Compress the JS files under the assembly folder -->
<execution>
<id>compress-assembly</id>
<phase>generate-resources</phase>
<goals>
<goal>compress</goal>
<goal>minify</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/assembly/web</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/assembly/web</outputDirectory>
<baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir>
<baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir>
<sourceDir>web</sourceDir>
<targetDir>web</targetDir>
<skipMerge>true</skipMerge>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/webscripts/**</exclude>
<exclude>**/site-webscripts/**</exclude>
<exclude>**/META-INF/**</exclude>
<exclude>**/*.lib.js</exclude>
<exclude>**/*.css</exclude>
<exclude>**/*-min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</execution>
<!-- Compress the JS files under the resources folder -->
<execution>
<id>compress-resources</id>
<phase>generate-resources</phase>
<goals>
<goal>compress</goal>
<goal>minify</goal>
</goals>
<configuration>
<baseSourceDir>${project.basedir}/src/main</baseSourceDir>
<baseTargetDir>${project.basedir}/src/main</baseTargetDir>
<sourceDir>resources</sourceDir>
<targetDir>resources</targetDir>
<skipMerge>true</skipMerge>
<includes>
<include>**/*.js</include>
</includes>
<excludes>
<exclude>**/webscripts/**</exclude>
<exclude>**/site-webscripts/**</exclude>
<exclude>**/*.lib.js</exclude>
<exclude>**/*.css</exclude>
<exclude>**/*-min.js</exclude>
<exclude>**/*-min.css</exclude>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<force>true</force>
<jswarn>false</jswarn>
</configuration>
</execution>
</executions>
@@ -368,7 +382,7 @@
<profile>
<id>java11</id>
<activation>
<jdk>[11.0,)</jdk>
<jdk>[11.0,17)</jdk>
</activation>
<build>
<plugins>
@@ -383,6 +397,24 @@
</plugins>
</build>
</profile>
<profile>
<id>java17</id>
<activation>
<jdk>[17,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>17</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!--
@@ -55,29 +55,29 @@ EXIT /B %ERRORLEVEL%
docker volume create ${rootArtifactId}-acs-volume
docker volume create ${rootArtifactId}-db-volume
docker volume create ${rootArtifactId}-ass-volume
docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d
EXIT /B 0
:start_share
docker-compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-share
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-share
EXIT /B 0
:down
if exist "%COMPOSE_FILE_PATH%" (
docker-compose -f "%COMPOSE_FILE_PATH%" down
docker compose -f "%COMPOSE_FILE_PATH%" down
)
EXIT /B 0
:build
call %MVN_EXEC% clean package
EXIT /B 0
:build_share
docker-compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share
docker-compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share
call %MVN_EXEC% clean package
EXIT /B 0
:tail
docker-compose -f "%COMPOSE_FILE_PATH%" logs -f
docker compose -f "%COMPOSE_FILE_PATH%" logs -f
EXIT /B 0
:tail_all
docker-compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
EXIT /B 0
:purge
docker volume rm -f ${rootArtifactId}-acs-volume
@@ -13,16 +13,16 @@ start() {
docker volume create ${rootArtifactId}-acs-volume
docker volume create ${rootArtifactId}-db-volume
docker volume create ${rootArtifactId}-ass-volume
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
}
start_share() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-share
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-share
}
down() {
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
fi
}
@@ -37,17 +37,17 @@ build() {
}
build_share() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-share
yes | docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-share
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-share
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-share
${symbol_dollar}MVN_EXEC clean package
}
tail() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
}
tail_all() {
docker-compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
}
case "${symbol_dollar}1" in
@@ -35,9 +35,9 @@
<source>src/main/assembly/file-mapping.properties</source>
<filtered>false</filtered>
</file>
<!-- Add module-specific log4j.properties configuration at top level in the AMP -->
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j.properties</source>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
<filtered>false</filtered>
</file>
</files>
@@ -12,5 +12,5 @@ RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
COPY log4j.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
@@ -1,57 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
log4j.rootLogger=error, Console, File
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# use log4j NDC to replace %x with tenant domain / username
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
# File appender definition #
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=share.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.web=info
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
@@ -0,0 +1,124 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Set root logger level to error
#log4j.rootLogger=error, Console, File
rootLogger.level=error
rootLogger.appenderRef.stdout.ref=ConsoleAppender
rootLogger.appenderRef.rolling.ref=RollingAppender
# Console appender definition #
# All outputs currently set to be a ConsoleAppender.
appender.console.type=Console
appender.console.name=ConsoleAppender
appender.console.layout.type=PatternLayout
# use log4j NDC to replace %x with tenant domain / username
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
# File appender definition #
appender.rolling.type=RollingFile
appender.rolling.name=RollingAppender
appender.rolling.fileName=alfresco.log
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
appender.rolling.layout.type=PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
# Spring
logger.springframework.name=org.springframework
logger.springframework.level=warn
# Turn off Spring remoting warnings that should really be info or debug.
logger.springframework-remoting-support.name=org.springframework.remoting.support
logger.springframework-remoting-support.level=error
logger.springframework-util.name=org.springframework.util
logger.springframework-util.level=error
# MyFaces
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
logger.apache-myfaces-util-DebugUtils.level=info
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
logger.apache-myfaces-el-VariableResolverImpl.level=error
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
logger.apache-myfaces-taglib.level=error
# Alfresco
logger.alfresco.name=org.alfresco
logger.alfresco.level=error
logger.alfresco-repo-admin.name=org.alfresco.repo.admin
logger.alfresco-repo-admin.level=info
logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
logger.alfresco-repo-transaction.level=warn
logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
logger.alfresco-repo-cache-TransactionalCache.level=warn
logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
logger.alfresco-repo-model-filefolder.level=warn
logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
logger.alfresco-repo-tenant.level=info
logger.alfresco-config.name=org.alfresco.config
logger.alfresco-config.level=warn
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
logger.alfresco-config-JndiObjectFactoryBean.level=warn
logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
logger.alfresco-repo-management-subsystems.level=warn
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
logger.alfresco-repo-security-sync.level=info
logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
logger.alfresco-repo-security-person.level=info
logger.alfresco-sample.name=org.alfresco.sample
logger.alfresco-sample.level=info
logger.alfresco-web.name=org.alfresco.web
logger.alfresco-web.level=info
# Web Framework
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
logger.springframework-extensions-webscripts.level=info
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
logger.runtime.name=freemarker.runtime
logger.runtime.level=
#-----------------------------------------------------------------------
# Custom Share module logging goes here...
#-----------------------------------------------------------------------
@@ -101,5 +101,13 @@
</endpoint>
</remote>
</config>
<config evaluator="string-compare" condition="Users" replace="true">
<users>
<username-min-length>2</username-min-length>
<password-min-length>3</password-min-length>
<show-authorization-status>false</show-authorization-status>
</users>
<enable-external-users-panel>false</enable-external-users-panel>
</config>
</alfresco-config>
@@ -1 +0,0 @@
# Add here module-specific custom log4j.properties configuration
@@ -0,0 +1 @@
# Add here module-specific custom log4j2.properties configuration
+4 -4
View File
@@ -10,14 +10,14 @@
<properties>
<slf4j.version>1.7.12</slf4j.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -55,7 +55,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<version>3.5.5</version>
<executions>
<execution>
<id>integration-test</id>
+4 -4
View File
@@ -1,7 +1,7 @@
---
Title: Alfresco SDK 4.4
Title: Alfresco SDK 4.11.0
Added: v3.0.0
Last reviewed: 2022-03-22
Last reviewed: 2025-03-18
---
# 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)
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.4 is a minor update to the SDK and provides support for Alfresco 7.2.x.
Alfresco SDK 4.11.0 is a minor update to the SDK and provides support for Alfresco 25.1.x.
The 4.0 release takes advantage of Semantic Versioning ([SEMVER](http://semver.org/)), which means that this new release is not directly compatible with the
previous releases of the SDK.
@@ -55,4 +55,4 @@ code into place.
* [How to configure and use JRebel](advanced-topics/hot-reloading/jrebel.md)
* [How to configure and use Hotswap Agent](advanced-topics/hot-reloading/hotswap-agent.md)
* [Switching Alfresco Content Services database](advanced-topics/switching-dbs.md)
* [Troubleshooting](troubleshooting.md)
* [Troubleshooting](troubleshooting.md)
+15 -5
View File
@@ -82,8 +82,8 @@ install it separately after you've installed Docker.
4. Verify the installation of Docker Compose.
```
$ docker-compose -v
docker-compose version 1.22.0, build f46880f
$ docker compose version
Docker Compose version v2.28.1-desktop.1
```
## Generate your project from the archetypes
@@ -118,7 +118,7 @@ Choose archetype:
* `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
* `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
3. Choose the latest version, such as 4.4.0.
3. Choose the latest version, such as 4.14.0.
```
Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
@@ -139,6 +139,16 @@ Choose org.alfresco.maven.archetype:alfresco-allinone-archetype version:
15: 4.2.0
16: 4.3.0
17: 4.4.0
18: 4.5.0
19: 4.6.0
20: 4.7.0
21: 4.8.0
22: 4.9.0
23: 4.10.0
24: 4.11.0
25: 4.12.0
26: 4.13.0
27: 4.14.0
```
4. Next you will be prompted for additional values, like groupId, artifactId, and package, as shown below:
@@ -167,7 +177,7 @@ If everything has been configured correctly, you should see something similar to
```
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.4.0
[INFO] Using following parameters for creating project from Archetype: alfresco-allinone-archetype:4.14.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.acme
[INFO] Parameter: artifactId, Value: my-all-in-one
@@ -189,7 +199,7 @@ If everything has been configured correctly, you should see something similar to
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:11 min
[INFO] Finished at: 2019-01-10T16:21:46+01:00
[INFO] Finished at: 2026-02-24T16:21:46+01:00
[INFO] Final Memory: 17M/1024M
[INFO] ------------------------------------------------------------------------
```
+10 -3
View File
@@ -10,7 +10,7 @@ Alfresco Share 6.
This was a mayor release oriented to support Alfresco 6, so it is not compatible with previous versions of the SDK.
Alfresco SDK 4.4 extends the support to Alfresco 7.2.
Alfresco SDK 4.14.0 extends the support to Alfresco 26.1.
Use an older SDK version for Alfresco 6.
## Embracing containers and Docker
@@ -64,6 +64,13 @@ environment can be more similar to a real one, including whatever other service
Alfresco SDK 4.1 provides support for Alfresco 6.2.x.
## Support for Alfresco 7.0.x, 7.1.x, and 7.2.x
## Support for Alfresco 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x. 23.1.x, 23.2.x, 23.3.x, 23.4.x, 25.1.x, 25.2.x and 26.1.x
Alfresco SDK 4.4 provides support for Alfresco 7.0.x, 7.1.x, and 7.2.x.
Alfresco SDK 4.14.0 provides support for Alfresco 7.0.x, 7.1.x, 7.2.x, 7.3.x, 7.4.x, 23.1.x, 23.2.x, 23.3.x, 23.4.x, 25.1.x, 25.2.x and 26.1.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.9 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 or 7.4.x , 23.1.x, 23.2.x, 23.3.x or 23.4.x you can
now use SDK 4.9 (or greater) + JDK 17 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 17.
@@ -41,7 +41,7 @@ my-all-in-one-project
│ └── main
│ └── docker
│ ├── alfresco-global.properties
│ ├── dev-log4j.properties
│ ├── dev-log4j2.properties
│ ├── disable-webscript-caching-context.xml
│ ├── Dockerfile
│ ├── hotswap-agent.properties
@@ -106,7 +106,7 @@ my-all-in-one-project
│ └── docker
│ ├── Dockerfile
│ ├── hotswap-agent.properties
│ ├── log4j.properties
│ ├── log4j2.properties
│ └── share-config-custom.xml
└── my-all-in-one-project-share
├── pom.xml
@@ -30,7 +30,7 @@ my-platform-jar-project
│   ├── docker
│   │   ├── Dockerfile
│   │   ├── alfresco-global.properties
│   │   ├── dev-log4j.properties
│   │   ├── dev-log4j2.properties
│   │   ├── disable-webscript-caching-context.xml
│   │   ├── hotswap-agent.properties
│   │   └── license
@@ -62,7 +62,7 @@ my-platform-jar-project
│   │   ├── bootstrap-context.xml
│   │   ├── service-context.xml
│   │   └── webscript-context.xml
│   ├── log4j.properties
│   ├── log4j2.properties
│   ├── messages
│   │   ├── content-model.properties
│   │   └── workflow-messages.properties
@@ -28,7 +28,7 @@ my-share-jar-project
│ ├── docker
│ │ ├── Dockerfile
│ │ ├── hotswap-agent.properties
│ │ ├── log4j.properties
│ │ ├── log4j2.properties
│ │ └── share-config-custom.xml
│ ├── java
│ │ └── com
@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
# Working with an All-In-One project
Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate an All-In-One (AIO) project,
which means selecting the `org.alfresco.maven.archetype:alfresco-allinone-archetype`
Maven archetype when generating the project. The following information assumes that
Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate an All-In-One (AIO) project,
which means selecting the `org.alfresco.maven.archetype:alfresco-allinone-archetype`
Maven archetype when generating the project. The following information assumes that
the AIO project was generated with the name `my-all-in-one-project`.
- [Introduction](#introduction)
@@ -21,23 +21,23 @@ the AIO project was generated with the name `my-all-in-one-project`.
- [Stopping the project](#stopping-the-project)
## Introduction
An AIO SDK project is used to build extensions for both [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html)
An AIO SDK project is used to build extensions for both [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html)
and [Alfresco Share UI](https://docs.alfresco.com/6.2/concepts/dev-extensions-share.html). The runtime environment
for ACS is Docker so not only is this project building the source code for your extensions but also the
custom Docker images for the Alfresco Repository and Alfresco Share. The custom Docker images includes the
JARs, or AMPs, with your extension code.
for ACS is Docker so not only is this project building the source code for your extensions but also the
custom Docker images for the Alfresco Repository and Alfresco Share. The custom Docker images includes the
JARs, or AMPs, with your extension code.
Looking into the generated AIO parent project we can see that we got a Docker Compose file (**my-all-in-one-project/docker/docker-compose.yml**)
that will be used to build custom Docker images and run the project, one sub-project called `my-all-in-one-project-platform` that will be
Looking into the generated AIO parent project we can see that we got a Docker Compose file (**my-all-in-one-project/docker/docker-compose.yml**)
that will be used to build custom Docker images and run the project, one sub-project called `my-all-in-one-project-platform` that will be
used to build Repository customizations, and one sub-project called `my-all-in-one-project-share` that can be used to build Alfresco Share UI customizations.
There are also the `my-all-in-one-project-platform-docker` and `my-all-in-one-project-share-docker` projects that are
used to assemble (aggregate) all the Repository and Share extensions
(there are usually more than one of each in a bigger project) and then build the custom Docker images with the
There are also the `my-all-in-one-project-platform-docker` and `my-all-in-one-project-share-docker` projects that are
used to assemble (aggregate) all the Repository and Share extensions
(there are usually more than one of each in a bigger project) and then build the custom Docker images with the
extension(s) applied.
The Repository and Share extensions that are aggregated can either be extensions that you develop locally or extensions
that are available in a Maven repository somewhere.
The Repository and Share extensions that are aggregated can either be extensions that you develop locally or extensions
that are available in a Maven repository somewhere.
## Configuration properties
There are a number of properties that we can customise when we run the Alfresco SDK project.
@@ -62,12 +62,12 @@ When you first start out you don't need to change any of these properties, just
## Building and running the project
The first thing you need to do before you can run anything is to build the custom ACS Docker images with the custom extensions.
We can build images and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
We can build images and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
(on Windows use the `run.bat build_start` script instead).
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
following ports are free: 8180 (Share), 8080 (Alfresco Repo), 9898 (Share Debug), 8888 (Alfresco Repo Debug), 5555 (Postgres).
If you want to change the ports see the properties section of **my-all-in-one-project/pom.xml**. This project file also
If you want to change the ports see the properties section of **my-all-in-one-project/pom.xml**. This project file also
contains the versions of Alfresco Repository and Alfresco Share that will be used.
```
@@ -77,8 +77,8 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
[WARNING] The project com.example:my-all-in-one-project:pom:1.0-SNAPSHOT uses prerequisites which is only intended for maven-plugin projects but not for non maven-plugin projects. For such purposes you should use the maven-enforcer-plugin. See https://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] AIO - SDK 4.4
[INFO]
[INFO] AIO - SDK 4.11.0
[INFO] Alfresco Platform/Repository JAR Module
[INFO] Alfresco Share JAR Module
[INFO] Integration Tests Module
@@ -87,8 +87,8 @@ my-all-in-one-project mbergljung$ ./run.sh build_start
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] AIO - SDK 4.4 ...................................... SUCCESS [ 0.680 s]
[INFO]
[INFO] AIO - SDK 4.11.0 ...................................... SUCCESS [ 0.680 s]
[INFO] Alfresco Platform/Repository JAR Module ............ SUCCESS [ 5.461 s]
[INFO] Alfresco Share JAR Module .......................... SUCCESS [ 0.557 s]
[INFO] Integration Tests Module ........................... SUCCESS [ 0.900 s]
@@ -114,11 +114,11 @@ Successfully tagged alfresco-content-services-my-all-in-one-project:development
my-all-in-one-project-acs_1 | 27-Mar-2019 06:53:39.191 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
my-all-in-one-project-acs_1 | 27-Mar-2019 06:53:39.233 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
my-all-in-one-project-acs_1 | 27-Mar-2019 06:53:39.249 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 84022 ms
```
```
The `./run.sh build_start` script will do the following:
* Stop anything running already with this project's Docker Compose file: **my-all-in-one-project/docker/docker-compose.yml**
* Stop anything running already with this project's Docker Compose file: **my-all-in-one-project/docker/docker-compose.yml**
* Build the Repository and Share Extension JARs so we are sure to get the latest changes
* Assemble/Aggregate all Repository extension JARs into the **my-all-in-one-project/my-all-in-one-project-platform-docker/target/extensions** directory
* Assemble/Aggregate all Share extension JARs into the **my-all-in-one-project/my-all-in-one-project-share-docker/target/extensions** directory
@@ -128,12 +128,12 @@ The `./run.sh build_start` script will do the following:
This will build the following two Docker images:
```
```
$ docker image ls|more
REPOSITORY TAG IMAGE ID CREATED SIZE
alfresco-content-services-my-all-in-one-project development 48e61e882567 16 hours ago 2.07GB
alfresco-share-my-all-in-one-project development d6cbb6143578 16 hours ago 749MB
```
```
The different web applications should now be accessible:
@@ -141,49 +141,49 @@ The different web applications should now be accessible:
* **ACS Share**: http://localhost:8180/share/ - login with admin/admin
## Trying out the sample code
The AIO project has some sample extension code that you can try out. There is a one Repository extension and one Share extension
The AIO project has some sample extension code that you can try out. There is a one Repository extension and one Share extension
that you can test to make sure the extension JARs have been applied properly.
The Repository extension is a Web Script that can be called with the following URL: `http://localhost:8080/alfresco/service/sample/helloworld`.
The source code for the Web Script is located here: **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
The source code for the Web Script is located here: **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
and here: **my-all-in-one-project/my-all-in-one-project-platform/src/main/java/ com/example/platformsample/HelloWorldWebScript.java**.
The Share extension is a custom Aikau page with a custom widget, you reach it with the following URL: `http://localhost:8180/share/page/hdp/ws/simple-page`.
The source code for the Page and Widget is located here: **my-all-in-one-project/my-all-in-one-project-share/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
The source code for the Page and Widget is located here: **my-all-in-one-project/my-all-in-one-project-share/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
and here: **my-all-in-one-project/my-all-in-one-project-share/src/main/resources/META-INF/resources/my-all-in-one-project-share/js/tutorials/widgets**.
## Looking inside the containers
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
access the Repository container and list the custom Repository extension JARs that have been deployed?
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
access the Repository container and list the custom Repository extension JARs that have been deployed?
You can do that as follows:
First **Ctrl-C** out of the log tailing:
```
```
my-all-in-one-project-acs_1 | 27-Mar-2019 07:26:23.893 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
my-all-in-one-project-acs_1 | 27-Mar-2019 07:26:23.914 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
my-all-in-one-project-acs_1 | 27-Mar-2019 07:26:23.940 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 83197 ms
my-all-in-one-project-acs_1 | 2019-03-27 07:26:24,304 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-3] Starting 'Search' subsystem, ID: [Search, managed, solr6]
my-all-in-one-project-acs_1 | 2019-03-27 07:26:25,555 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-3] Startup of 'Search' subsystem, ID: [Search, managed, solr6] complete
^CERROR: Aborting.
my-all-in-one-project mbergljung$
```
my-all-in-one-project mbergljung$
```
Then check the name of the ACS Repository container:
```
```
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
733867a70117 alfresco-content-services-my-all-in-one-project:development "catalina.sh run -se…" 5 minutes ago Up 5 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-all-in-one-project-acs_1
1f197e52b4f2 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 5 minutes ago Up 5 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
1f197e52b4f2 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 5 minutes ago Up 5 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
4eff0cc9cc25 alfresco-share-my-all-in-one-project:development "/usr/local/tomcat/s…" 5 minutes ago Up 5 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-all-in-one-project-share_1
a7854ff16d72 postgres:9.6 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:5555->5432/tcp docker_my-all-in-one-project-postgres_1
```
```
Then open up a shell into the ACS Repository container:
```
```
my-all-in-one-project mbergljung$ docker exec -it docker_my-all-in-one-project-acs_1 /bin/bash
[root@733867a70117 tomcat]# pwd
/usr/local/tomcat
@@ -191,55 +191,55 @@ my-all-in-one-project mbergljung$ docker exec -it docker_my-all-in-one-project-a
-rw-r--r-- 1 root root 17220 Mar 27 07:24 my-all-in-one-project-platform-1.0-SNAPSHOT.jar
[root@733867a70117 tomcat]# exit
exit
```
```
## Updating extension code
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
to return a different message. Open up the **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
to return a different message. Open up the **my-all-in-one-project/my-all-in-one-project-platform/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
file and change it to look as follows:
```
```
Message: '${fromJS}' '${fromJava}' UPDATED!
```
```
To get this code update deployed we just have to run the following command in another console then where we are tailing the logs,
and stand in the directory where the `run.sh` script is located:
```
```
my-all-in-one-project mbergljung$ ./run.sh reload_acs
```
```
What this will do is the following:
* Kill the `my-all-in-one-project-acs` container
* Kill the `my-all-in-one-project-acs` container
* Remove the killed (stopped) `my-all-in-one-project-acs` container, so a new Docker image can be created with `development` tag
* Build the Repository extension JAR: **my-all-in-one-project/my-all-in-one-project-platform**
* Build the Repository extension JAR: **my-all-in-one-project/my-all-in-one-project-platform**
* Copy the newly built Repository extension JAR over to the **my-all-in-one-project/my-all-in-one-project-platform-docker/target/extensions** where it will be picked up when the new Docker image is built.
* Build a new `alfresco-content-services-my-all-in-one-project:development` image
* Start up the `my-all-in-one-project-acs` container based on new image
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
in the initial console where we started things up.
You can now check if the change took effect by accessing the `http://localhost:8080/alfresco/service/sample/helloworld` Web Script.
## Stopping the project
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
```
```
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49015432f1b2 alfresco-content-services-my-all-in-one-project:development "catalina.sh run -se…" 20 minutes ago Up 20 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-all-in-one-project-acs_1
edb9ea129a5d postgres:9.6 "docker-entrypoint.s…" 20 minutes ago Up 20 minutes 0.0.0.0:5555->5432/tcp docker_my-all-in-one-project-postgres_1
6992d183986f alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 20 minutes ago Up 20 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
6992d183986f alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 20 minutes ago Up 20 minutes 0.0.0.0:8983->8983/tcp docker_my-all-in-one-project-ass_1
107d00733efd alfresco-share-my-all-in-one-project:development "/usr/local/tomcat/s…" 20 minutes ago Up 20 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-all-in-one-project-share_1
```
```
Now, standing in the directory where the `run.sh` script is located execute the following command to stop and remove the containers:
```
```
my-all-in-one-project mbergljung$ ./run.sh stop
Stopping docker_my-all-in-one-project-acs_1 ... done
Stopping docker_my-all-in-one-project-postgres_1 ... done
@@ -250,7 +250,4 @@ Removing docker_my-all-in-one-project-postgres_1 ... done
Removing docker_my-all-in-one-project-ass_1 ... done
Removing docker_my-all-in-one-project-share_1 ... done
Removing network docker_default
```
```
@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
# Working with a Platform (Repository) project
Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate a Platform project,
which means selecting the `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
Maven archetype when generating the project. The following information assumes that
Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate a Platform project,
which means selecting the `org.alfresco.maven.archetype:alfresco-platform-jar-archetype`
Maven archetype when generating the project. The following information assumes that
the Platform project was generated with the name `my-platform-project`.
- [Introduction](#introduction)
@@ -21,13 +21,13 @@ the Platform project was generated with the name `my-platform-project`.
- [Stopping the project](#stopping-the-project)
## Introduction
A Platform project is used to build extensions for the [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html).
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
custom Docker image for the Alfresco Repository. The custom Docker images includes the JARs, or AMPs, with your extension code.
A Platform project is used to build extensions for the [Alfresco Content Services (ACS) Repository](https://docs.alfresco.com/6.2/concepts/dev-platform-extensions.html).
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
custom Docker image for the Alfresco Repository. The custom Docker images includes the JARs, or AMPs, with your extension code.
Looking into the generated Platform project we can see that we got a Docker Compose file (**my-platform-project/docker/docker-compose.yml**)
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
**my-platform-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
Looking into the generated Platform project we can see that we got a Docker Compose file (**my-platform-project/docker/docker-compose.yml**)
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
**my-platform-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
build the custom ACS Repository Docker image: **my-platform-project/src/main/docker**.
## Configuration properties
@@ -49,27 +49,27 @@ The following table explains some of these properties:
| acs.debug.port | `number` | 8888 | The external port (i.e. outside container) for ACS Repository remote debugging.|
| postgres.port | `number` | 5555 | The external port (i.e. outside container) for PostgreSQL database.|
There are some Alfresco Share related properties listed here, but they are not used unless you uncomment some code in the
There are some Alfresco Share related properties listed here, but they are not used unless you uncomment some code in the
Docker Compose file (**my-platform-project/docker/docker-compose.yml**) to run the Alfresco Share container.
When you first start out you don't need to change any of these properties, just use the defaults and try it out.
## Building and running the project
The first thing you need to do before you can run anything is to build the custom ACS Repository Docker image with the custom extensions.
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
(on Windows use the `run.bat build_start` script instead).
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
following ports are free: 8180 (Share - if enabled in Docker Compose), 8080 (Alfresco Repo), 9898 (Share Debug - if enabled in Docker Compose),
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
following ports are free: 8180 (Share - if enabled in Docker Compose), 8080 (Alfresco Repo), 9898 (Share Debug - if enabled in Docker Compose),
8888 (Alfresco Repo Debug), 5555 (Postgres).
If you want to change the ports see the properties section of **my-platform-project/pom.xml**. This project file also
If you want to change the ports see the properties section of **my-platform-project/pom.xml**. This project file also
contains the versions of Alfresco Repository and Alfresco Share (if enabled) that will be used.
```
$ cd my-platform-project/
MBP512-MBERGLJUNG-0917:my-platform-project mbergljung$ ./run.sh build_start
[INFO] Scanning for projects...
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my-platform-project Platform/Repository JAR Module 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
@@ -95,12 +95,12 @@ Attaching to docker_my-platform-project-acs_1, docker_my-platform-project-ass_1,
...
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.923 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.947 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.955 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91144 ms```
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.955 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91144 ms```
```
The `./run.sh build_start` script will do the following:
* Stop anything running already with this project's Docker Compose file: **my-platform-project/docker/docker-compose.yml**
* Stop anything running already with this project's Docker Compose file: **my-platform-project/docker/docker-compose.yml**
* Build the Repository Extension JARs so we are sure to get the latest changes
* Assemble/Aggregate all Repository extension JARs into the **my-platform-project/target/extensions** directory
* Create Docker Volumes for Repository (alf_data), Search index, and Database so data is persisted outside the containers
@@ -109,11 +109,11 @@ The `./run.sh build_start` script will do the following:
This will build the following Docker image:
```
```
$ docker image ls|more
REPOSITORY TAG IMAGE ID CREATED SIZE
alfresco-content-services-my-platform-project development b2b9a7b730f5 5 minutes ago 2.07GB
```
```
The different web applications should now be accessible:
@@ -121,20 +121,20 @@ The different web applications should now be accessible:
* And optionally (if enabled in Docker Compose file) **ACS Share**: http://localhost:8180/share/ - login with admin/admin
## Trying out the sample code
The Platform project has some sample extension code that you can try out.
The Platform project has some sample extension code that you can try out.
The Repository extension is a Web Script that can be called with the following URL: `http://localhost:8080/alfresco/service/sample/helloworld`.
The source code for the Web Script is located here: **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
The source code for the Web Script is located here: **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials**
and here: **my-platform-project/src/main/java/ com/example/platformsample/HelloWorldWebScript.java**.
## Looking inside the containers
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
access the Repository container and list the custom Repository extension JARs that have been deployed?
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
access the Repository container and list the custom Repository extension JARs that have been deployed?
You can do that as follows:
First **Ctrl-C** out of the log tailing:
```
```
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.923 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.947 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
my-platform-project-acs_1 | 27-Mar-2019 09:25:12.955 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 91144 ms
@@ -142,21 +142,21 @@ my-platform-project-acs_1 | 2019-03-27 09:25:40,406 INFO [management.su
my-platform-project-acs_1 | 2019-03-27 09:25:40,948 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-6] Startup of 'Transformers' subsystem, ID: [Transformers, default] complete
^[[B^CERROR: Aborting.
my-platform-project mbergljung$
```
```
Then check the name of the ACS Repository container:
```
```
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ba90b1648470 alfresco-content-services-my-platform-project:development "catalina.sh run -se…" 8 minutes ago Up 8 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-platform-project-acs_1
0435b09e687c alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 8 minutes ago Up 8 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
0435b09e687c alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 8 minutes ago Up 8 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
c9145e7cdb20 postgres:9.6 "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:5555->5432/tcp docker_my-platform-project-postgres_1
```
```
Then open up a shell into the ACS Repository container:
```
```
my-platform-project mbergljung$ docker exec -it docker_my-platform-project-acs_1 /bin/bash
[root@ba90b1648470 tomcat]# pwd
/usr/local/tomcat
@@ -165,17 +165,17 @@ my-platform-project mbergljung$ docker exec -it docker_my-platform-project-acs_1
-rw-r--r-- 1 root root 13692 Mar 27 09:23 my-platform-project-1.0-SNAPSHOT-tests.jar
[root@ba90b1648470 tomcat]# exit
exit
```
```
## Updating extension code
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
to return a different message. Open up the **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
What do you need to do, restart etc. First just update the code. For example, let's update the Repository Web Script
to return a different message. Open up the **my-platform-project/src/main/resources/alfresco/extension/templates/webscripts/alfresco/tutorials/helloworld.get.html.ftl**
file and change it to look as follows:
```
```
Message: '${fromJS}' '${fromJava}' UPDATED!
```
```
To get this code update deployed we have to run the following commands:
@@ -183,7 +183,7 @@ First `Ctrl-C` out of the log tailing.
Then stop the project:
```
```
my-platform-project mbergljung$ ./run.sh stop
Stopping docker_my-platform-project-acs_1 ... done
Stopping docker_my-platform-project-ass_1 ... done
@@ -192,18 +192,18 @@ Removing docker_my-platform-project-acs_1 ... done
Removing docker_my-platform-project-ass_1 ... done
Removing docker_my-platform-project-postgres_1 ... done
Removing network docker_default
```
```
Now build and start again:
```
```
my-platform-project mbergljung$ ./run.sh build_start
...
```
```
What this will do is the following:
* Kill the `my-platform-project-acs` container
* Kill the `my-platform-project-acs` container
* Removed the killed (stopped) `my-platform-project-acs` container, so a new Docker image can be created with `development` tag
* Build the Repository extension JAR
* Copy the newly built Repository extension JAR over to the **my-platform-project/target/extensions** where it will be picked up when the new Docker image is built.
@@ -211,22 +211,22 @@ What this will do is the following:
* Start up the `my-platform-project-acs` container based on new image
You can now check if the change took effect by accessing the `http://localhost:8080/alfresco/service/sample/helloworld` Web Script.
## Stopping the project
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
```
```
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61de829092f3 alfresco-content-services-my-platform-project:development "catalina.sh run -se…" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp, 0.0.0.0:8888->8888/tcp docker_my-platform-project-acs_1
07300ddb6714 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 3 minutes ago Up 3 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
07300ddb6714 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 3 minutes ago Up 3 minutes 0.0.0.0:8983->8983/tcp docker_my-platform-project-ass_1
09922ce36d90 postgres:9.6 "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 0.0.0.0:5555->5432/tcp docker_my-platform-project-postgres_1
```
```
Now, standing in the directory where the `run.sh` script is located execute the following command to stop and remove the containers:
```
```
my-platform-project mbergljung$ ./run.sh stop
Stopping docker_my-platform-project-acs_1 ... done
Stopping docker_my-platform-project-ass_1 ... done
@@ -235,7 +235,4 @@ Removing docker_my-platform-project-acs_1 ... done
Removing docker_my-platform-project-ass_1 ... done
Removing docker_my-platform-project-postgres_1 ... done
Removing network docker_default
```
```
@@ -6,10 +6,10 @@ Last reviewed: 2021-02-09
# Working with a Share project
Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate an Alfresco Share project,
which means selecting the `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
Maven archetype when generating the project. The following information assumes that
Before you continue make sure that you have read and completed the tasks in the
[Getting started](../getting-started.md) tutorial to generate an Alfresco Share project,
which means selecting the `org.alfresco.maven.archetype:alfresco-share-jar-archetype`
Maven archetype when generating the project. The following information assumes that
the Share project was generated with the name `my-share-project`.
- [Introduction](#introduction)
@@ -21,14 +21,14 @@ the Share project was generated with the name `my-share-project`.
- [Stopping the project](#stopping-the-project)
## Introduction
An Alfresco Sharte project is used to build extensions for [Alfresco Share UI](https://docs.alfresco.com/6.2/concepts/dev-extensions-share.html).
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
custom Docker image for Alfresco Share. The custom Docker images includes the
JARs, or AMPs, with your extension code.
An Alfresco Sharte project is used to build extensions for [Alfresco Share UI](https://docs.alfresco.com/6.2/concepts/dev-extensions-share.html).
The runtime environment for ACS is Docker so not only is this project building the source code for your extensions but also the
custom Docker image for Alfresco Share. The custom Docker images includes the
JARs, or AMPs, with your extension code.
Looking into the generated Share project we can see that we got a Docker Compose file (**my-share-project/docker/docker-compose.yml**)
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
**my-share-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
Looking into the generated Share project we can see that we got a Docker Compose file (**my-share-project/docker/docker-compose.yml**)
that will be used to build custom Docker images and run the project. We also got a directory for our extension source code:
**my-share-project/src/main/java** and one directory with the Docker related stuff, such as the **Dockerfile** used to
build the custom Alfresco Share Docker image: **my-share-project/src/main/docker**.
## Configuration properties
@@ -52,23 +52,23 @@ The following table explains some of these properties:
There are some ACS Repository related properties listed here, such as `acs.host` and `acs.port`. Alfresco Share will use those
to connect to the Alfresco Repository. This is however a bit tricky when we are running in a container environment. You cannot
just start the Repository and make it available on `localhost:8080`. It would not be accessible like that from inside the
Share container. For Share to be able to connect to the Repository both containers need to be attached to the same
just start the Repository and make it available on `localhost:8080`. It would not be accessible like that from inside the
Share container. For Share to be able to connect to the Repository both containers need to be attached to the same
Docker Network. This way you can just use the Docker Compose service name for the Repository, such as `my-share-project-acs`.
So the best way to test your Share extension is to uncomment the code in the Docker Compose file
So the best way to test your Share extension is to uncomment the code in the Docker Compose file
(**my-share-project/docker/docker-compose.yml**) to also run the ACS Repository container, Search, and Postgres.
## Building and running the project
The first thing you need to do before you can run anything is to build the custom Share Docker image with the custom extensions.
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
We can build the image and extensions at the same time as we start (run) the project by using the `./run.sh build_start` script
(on Windows use the `run.bat build_start` script instead).
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
Note that if you have another Alfresco SDK project running, then you need to stop it first. Also, make sure that the
following ports are free: 8180 (Share), 8080 (Alfresco Repo - if enabled in Docker Compose), 9898 (Share Debug), 8888 (Alfresco Repo Debug - if enabled), 5555 (Postgres).
If you want to change the ports see the properties section of **my-share-project/pom.xml**. This project file also
If you want to change the ports see the properties section of **my-share-project/pom.xml**. This project file also
contains the versions of Alfresco Repository (if enabled) and Alfresco Share that will be used.
When I run the project I have uncommented the code (make sure to also remove the "# Optional" line) that starts
When I run the project I have uncommented the code (make sure to also remove the "# Optional" line) that starts
the Repository, Search, and PostgresSQL in the (**my-share-project/docker/docker-compose.yml**) file, so I can test the Share extension:
```
@@ -97,11 +97,11 @@ Successfully tagged alfresco-share-my-share-project:development...
my-share-project-acs_1 | 27-Mar-2019 10:09:01.158 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
my-share-project-acs_1 | 27-Mar-2019 10:09:01.175 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
my-share-project-acs_1 | 27-Mar-2019 10:09:01.213 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 95189 ms
```
```
The `./run.sh build_start` script will do the following:
* Stop anything running already with this project's Docker Compose file: **my-share-project/docker/docker-compose.yml**
* Stop anything running already with this project's Docker Compose file: **my-share-project/docker/docker-compose.yml**
* Build the Share Extension JARs so we are sure to get the latest changes
* Assemble/Aggregate all Share extension JARs into the **my-share-project/target/extensions** directory
* Create Docker Volumes for Repository (alf_data), Search index, and Database so data is persisted outside the containers
@@ -110,11 +110,11 @@ The `./run.sh build_start` script will do the following:
This will build the following Docker image:
```
```
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
alfresco-share-my-share-project development b8b9acdb3425 About a minute ago 749MB
```
```
The different web applications should now be accessible:
@@ -122,43 +122,43 @@ The different web applications should now be accessible:
* **ACS Share**: http://localhost:8180/share/ - login with admin/admin
## Trying out the sample code
The Share project has some sample extension code that you can try out.
The Share project has some sample extension code that you can try out.
The Share extension is a custom Aikau page with a custom widget, you reach it with the following URL: `http://localhost:8180/share/page/hdp/ws/simple-page`.
The source code for the Page and Widget is located here: **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
The source code for the Page and Widget is located here: **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages**
and here: **my-share-project/src/main/resources/META-INF/resources/my-share-project-share/js/tutorials/widgets**.
## Looking inside the containers
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
access the Share container and list the custom Share extension JARs that have been deployed?
Sometimes it's good to be able to look at what has actually been deployed in the containers. For example, how do I
access the Share container and list the custom Share extension JARs that have been deployed?
You can do that as follows:
First **Ctrl-C** out of the log tailing:
```
```
my-share-project-acs_1 | 27-Mar-2019 10:09:01.213 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 95189 ms
my-share-project-acs_1 | 2019-03-27 10:09:30,278 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-5] Starting 'Transformers' subsystem, ID: [Transformers, default]
my-share-project-acs_1 | 2019-03-27 10:09:30,618 INFO [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-5] Startup of 'Transformers' subsystem, ID: [Transformers, default] complete
my-share-project-share_1 | 2019-03-27 10:11:50,150 INFO [web.site.EditionInterceptor] [http-nio-8080-exec-1] Successfully retrieved license information from Alfresco.
my-share-project-share_1 | 2019-03-27 10:12:11,652 INFO [web.scripts.ImapServerStatus] [http-nio-8080-exec-7] Successfully retrieved IMAP server status from Alfresco: disabled
^CERROR: Aborting.
my-share-project mbergljung$
```
my-share-project mbergljung$
```
Then check the name of the Alfresco Share container:
```
```
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dda89172506c alfresco/alfresco-content-repository-community:6.1.2-ga "catalina.sh run -se…" 6 minutes ago Up 6 minutes 0.0.0.0:8080->8080/tcp docker_my-share-project-acs_1
2b4fa4b4a3f6 alfresco-share-my-share-project:development "/usr/local/tomcat/s…" 6 minutes ago Up 6 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-share-project-share_1
ad8857f3574b postgres:9.6 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:5555->5432/tcp docker_my-share-project-postgres_1
92902d7ae624 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 6 minutes ago Up 6 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
```
92902d7ae624 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 6 minutes ago Up 6 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
```
Then open up a shell into the Alfresco Share container:
```
```
my-share-project mbergljung$ docker exec -it docker_my-share-project-share_1 /bin/bash
[root@2b4fa4b4a3f6 tomcat]# pwd
/usr/local/tomcat
@@ -166,15 +166,15 @@ my-share-project mbergljung$ docker exec -it docker_my-share-project-share_1 /bi
-rw-r--r-- 1 root root 18920 Mar 27 10:07 my-share-project-1.0-SNAPSHOT.jar
[root@2b4fa4b4a3f6 tomcat]# exit
exit
```
```
## Updating extension code
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
What do you need to do, restart etc. First just update the code. For example, let's update the Share Page title.
Open up the **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages/simple-page.get.js**
So now you probably want to write some new code, or update the existing code, and see how that works with the containers running.
What do you need to do, restart etc. First just update the code. For example, let's update the Share Page title.
Open up the **my-share-project/src/main/resources/alfresco/web-extension/site-webscripts/com/example/pages/simple-page.get.js**
file and change it to look as follows:
```
```
model.jsonModel = {
widgets: [{
id: "SET_PAGE_TITLE",
@@ -204,45 +204,45 @@ model.jsonModel = {
}
}]
};
```
```
To get this code update deployed we just have to run the following command in another console then where we are tailing the logs,
and stand in the directory where the `run.sh` script is located:
```
```
my-share-project mbergljung$ ./run.sh reload_share
```
```
What this will do is the following:
* Kill the `my-share-project-acs` container
* Kill the `my-share-project-acs` container
* Remove the killed (stopped) `my-share-project-acs` container, so a new Docker image can be created with `development` tag
* Build the Share extension JAR
* Copy the newly built Share extension JAR over to the **my-share-project/target/extensions** where it will be picked up when the new Docker image is built.
* Build a new `alfresco-share-my-share-project:development` image
* Start up the `my-share-project-acs` container based on new image
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
You will be left with the console tailing the logs, but you can **Ctrl-C** out of this as you are already tailing the logs
in the initial console where we started things up.
You can now check if the change took effect by accessing the `http://localhost:8180/share/page/hdp/ws/simple-page` Web Script.
## Stopping the project
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
To stop the solution you need to first `Ctrl-C` out of the log tailing. This does not stop the containers
as they run in daemon mode in the background. Check this by executing the following command that lists running containers:
```
```
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
59f02060955a alfresco-share-my-share-project:development "/usr/local/tomcat/s…" 4 minutes ago Up 4 minutes 8000/tcp, 0.0.0.0:8180->8080/tcp, 0.0.0.0:9898->8888/tcp docker_my-share-project-share_1
dda89172506c alfresco/alfresco-content-repository-community:6.1.2-ga "catalina.sh run -se…" 16 minutes ago Up 16 minutes 0.0.0.0:8080->8080/tcp docker_my-share-project-acs_1
ad8857f3574b postgres:9.6 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 0.0.0.0:5555->5432/tcp docker_my-share-project-postgres_1
92902d7ae624 alfresco/alfresco-search-services:1.2.0 "/bin/sh -c '$DIST_D…" 16 minutes ago Up 16 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
```
92902d7ae624 alfresco/alfresco-search-services:2.0.3 "/bin/sh -c '$DIST_D…" 16 minutes ago Up 16 minutes 0.0.0.0:8983->8983/tcp docker_my-share-project-ass_1
```
Now, standing in the directory where the `run.sh` script is located execute the following command to stop and remove the containers:
```
```
my-share-project mbergljung$ ./run.sh stop
Stopping docker_my-share-project-share_1 ... done
Stopping docker_my-share-project-acs_1 ... done
@@ -253,7 +253,4 @@ Removing docker_my-share-project-acs_1 ... done
Removing docker_my-share-project-postgres_1 ... done
Removing docker_my-share-project-ass_1 ... done
Removing network docker_default
```
```
+1 -3
View File
@@ -10,7 +10,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -38,7 +38,6 @@
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.17.RELEASE</version>
</dependency>
<!-- Access to JUnit runner classes -->
@@ -50,5 +49,4 @@
</dependency>
</dependencies>
</project>
+21 -11
View File
@@ -8,7 +8,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -17,7 +17,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.5</version>
<version>3.15.2</version>
<executions>
<execution>
<id>generated-helpmojo</id>
@@ -81,7 +81,7 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-archiver</artifactId>
<version>3.1.1</version>
<version>3.6.0</version>
<exclusions>
<exclusion>
<artifactId>maven-core</artifactId>
@@ -92,7 +92,7 @@
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>3.4</version>
<version>4.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
@@ -102,22 +102,27 @@
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>3.2.5</version>
<version>3.9.7</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
<version>4.5.14</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
<version>3.10.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.17.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
<version>2.17.0</version>
</dependency>
<dependency>
<groupId>org.alfresco</groupId>
@@ -127,7 +132,12 @@
<dependency>
<groupId>org.alfrescolabs.alfresco-technical-validation</groupId>
<artifactId>org.alfrescolabs.alfresco-technical-validation</artifactId>
<version>0.4.0</version>
<version>0.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.18.0</version>
</dependency>
<dependency>
<groupId>org.twdata.maven</groupId>
@@ -138,7 +148,7 @@
<dependency>
<groupId>org.zeroturnaround</groupId>
<artifactId>zt-zip</artifactId>
<version>1.11</version>
<version>1.17</version>
</dependency>
<dependency>
<groupId>de.schlichtherle.truezip</groupId>
@@ -152,7 +162,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.5</version>
<version>3.15.2</version>
</plugin>
</plugins>
</reporting>
@@ -17,7 +17,7 @@
*/
package org.alfresco.maven.plugin;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.net.telnet.TelnetClient;
import org.apache.http.HttpHost;
import org.apache.http.HttpStatus;
@@ -20,7 +20,7 @@ package org.alfresco.maven.plugin;
import org.alfresco.maven.plugin.config.ModuleDependency;
import org.alfresco.maven.plugin.config.TomcatDependency;
import org.alfresco.maven.plugin.config.TomcatWebapp;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
@@ -131,12 +131,12 @@ public abstract class AbstractRunMojo extends AbstractMojo {
protected String shareContextPath;
/**
* Share Log4j.properties configuration cannot be customized via extension
* Share Log4j2.properties configuration cannot be customized via extension
* put on the classpath, like on the platform side.
* So we need to override the log4j.properties in share/WEB-INF/classes
* So we need to override the log4j2.properties in share/WEB-INF/classes
* to be able to log from custom code.
* This property can be used to turn off this overriding, to produce a WAR with
* the standard Share log4j.properties file.
* the standard Share log4j2.properties file.
*/
@Parameter(property = "maven.alfresco.useCustomShareLog4jConfig", defaultValue = "true")
protected boolean useCustomShareLog4jConfig;
@@ -452,22 +452,22 @@ public abstract class AbstractRunMojo extends AbstractMojo {
/**
* Copy a custom Share Log4J config into the share-war/WEB-INF/classes dir.
* There is no custom classpath resolve mechanism for Share log4j,
* to log custom stuff overriding standard log4j.properties is needed.
* Copy a custom Share Log4J2 config into the share-war/WEB-INF/classes dir.
* There is no custom classpath resolve mechanism for Share log4j2,
* to log custom stuff overriding standard log4j2.properties is needed.
*
* @throws MojoExecutionException when any problem appears copying the share log4j configuration
*/
protected void copyShareLog4jConfig() throws MojoExecutionException {
if (!useCustomShareLog4jConfig) {
getLog().info("NOT overriding share/WEB-INF/classes/log4j.properties");
getLog().info("NOT overriding share/WEB-INF/classes/log4j2.properties");
return;
}
final String warOutputDir = getWarOutputDir(SHARE_WAR_PREFIX_NAME);
final String logConfDestDir = warOutputDir + "/WEB-INF/classes";
getLog().info("Copying Share log4j.properties to: " + logConfDestDir);
getLog().info("Copying Share log4j2.properties to: " + logConfDestDir);
executeMojo(
plugin(
@@ -482,7 +482,7 @@ public abstract class AbstractRunMojo extends AbstractMojo {
element(name("resource"),
element(name("directory"), "src/test/resources/share"),
element(name("includes"),
element(name("include"), "log4j.properties")
element(name("include"), "log4j2.properties")
),
element(name("filtering"), "true")
)
@@ -886,7 +886,7 @@ public abstract class AbstractRunMojo extends AbstractMojo {
own repositories (i.e. the usual Java2 delegation model).
Prevent parent classloader delegation, each webapp loads.
If set to true then you will get a truckload of Solr logging as
the alf_data_dev/solr4/config/log4j-solr.properties file is not picked up.
the alf_data_dev/solr4/config/log4j2-solr.properties file is not picked up.
This also fixes issues with the Google Guava Library, which this tomcat plugin uses
version 10.0.1 of but Solr uses 14.0.1 */
element(name("delegate"), "false"),
@@ -18,7 +18,7 @@
package org.alfresco.maven.plugin.config;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang3.StringUtils;
/**
* <p>
+224 -54
View File
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>4.5.0-SNAPSHOT</version>
<version>4.15.0</version>
<name>Alfresco SDK</name>
<description>This aggregator Project builds all modules required for the Alfresco SDK</description>
<packaging>pom</packaging>
@@ -30,7 +30,7 @@
<connection>scm:git:${scm.url.base}.git</connection>
<developerConnection>scm:git:${scm.url.base}</developerConnection>
<url>${scm.url.base}</url>
<tag>alfresco-sdk-aggregator-4.4.0</tag>
<tag>alfresco-sdk-aggregator-${project.version}</tag>
</scm>
<!-- All the modules of the Alfresco SDK -->
@@ -44,43 +44,36 @@
<module>archetypes/alfresco-share-jar-archetype</module>
<module>archetypes/alfresco-allinone-archetype</module>
<module>archetypes/archetypes-it</module>
</modules>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.archetype.version>3.0.0</maven.archetype.version>
<alfresco.sdk.parent.version>${project.version}</alfresco.sdk.parent.version>
<alfresco.sdk.tests.exclude>*/*-enterprise*/*</alfresco.sdk.tests.exclude>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.2.0</alfresco.platform.version>
<alfresco.platform.version>26.1.0</alfresco.platform.version>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
<alfresco.share.docker.version>7.2.0</alfresco.share.docker.version>
<alfresco.share.docker.version>26.1.0</alfresco.share.docker.version>
<!--
The following value is now obtained by looking at the
- alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/7.1.0/pom.xml#L17)
- alfresco-community-share.version (eg. https://github.com/Alfresco/acs-community-packaging/blob/25.1.0/pom.xml#L17)
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/25.1.0/pom.xml#L18)
for the GitHub Tag related to the above Docker version.
-->
<alfresco.share.version>14.96</alfresco.share.version>
<alfresco.share.version>26.1.0.45</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<keystore.settings>
-Dencryption.keystore.type=JCEKS
-Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding
-Dencryption.keyAlgorithm=AES
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
-Dmetadata-keystore.password=mp6yc0UD9e
-Dmetadata-keystore.aliases=metadata
-Dmetadata-keystore.metadata.password=oKIWzVdEdA
-Dmetadata-keystore.metadata.algorithm=AES
-Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=AES/CBC/PKCS5Padding -Dencryption.keyAlgorithm=AES -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=oKIWzVdEdA -Dmetadata-keystore.metadata.algorithm=AES
</keystore.settings>
<test.acs.endpoint.path />
<test.acs.endpoint.path/>
<scm.url.base>https://github.com/Alfresco/alfresco-sdk</scm.url.base>
</properties>
@@ -101,78 +94,222 @@
</distributionManagement>
</profile>
<!-- 7.0 -->
<!-- 7.4 -->
<profile>
<id>community-70-tests</id>
<id>community-74-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.0.1-A7</alfresco.platform.version>
<alfresco.share.docker.version>7.0.1.2</alfresco.share.docker.version>
<alfresco.share.version>7.0.1.2</alfresco.share.version>
<alfresco.platform.version>7.4.0.1</alfresco.platform.version>
<alfresco.share.docker.version>7.4.0.1</alfresco.share.docker.version>
<alfresco.share.version>20.165</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile>
<id>enterprise-70-tests</id>
<id>enterprise-74-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.0.1.6</alfresco.platform.version>
<alfresco.share.docker.version>7.0.1.3</alfresco.share.docker.version>
<alfresco.share.version>7.0.1.3</alfresco.share.version>
<alfresco.platform.version>7.4.0.1</alfresco.platform.version>
<alfresco.share.docker.version>7.4.0.1</alfresco.share.docker.version>
<alfresco.share.version>20.165</alfresco.share.version>
<alfresco.platform.docker.image>quay.io/alfresco/alfresco-content-repository</alfresco.platform.docker.image>
<alfresco.share.docker.image>quay.io/alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<!-- 7.1 -->
<!-- 23.1 -->
<profile>
<id>community-71-tests</id>
<id>community-231-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.1.2</alfresco.platform.version>
<alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
<alfresco.share.version>12.22</alfresco.share.version>
<alfresco.platform.version>23.1.0</alfresco.platform.version>
<alfresco.share.docker.version>23.1.0</alfresco.share.docker.version>
<alfresco.share.version>23.1.0.269</alfresco.share.version>
<alfresco.platform.docker.image>alfresco/alfresco-content-repository-community</alfresco.platform.docker.image>
<alfresco.share.docker.image>alfresco/alfresco-share</alfresco.share.docker.image>
<alfresco.platform.docker.user>alfresco</alfresco.platform.docker.user>
</properties>
</profile>
<profile>
<id>enterprise-71-tests</id>
<id>enterprise-231-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.1.1.2</alfresco.platform.version>
<alfresco.share.docker.version>7.1.1.2</alfresco.share.docker.version>
<alfresco.share.version>12.22</alfresco.share.version>
<alfresco.platform.version>23.1.0</alfresco.platform.version>
<alfresco.share.docker.version>23.1.0</alfresco.share.docker.version>
<alfresco.share.version>23.1.0.269</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 -->
<!-- 23.2 -->
<profile>
<id>community-72-tests</id>
<id>community-232-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.2.0</alfresco.platform.version>
<alfresco.share.docker.version>7.2.0</alfresco.share.docker.version>
<alfresco.share.version>14.96</alfresco.share.version>
<alfresco.platform.version>23.2.1</alfresco.platform.version>
<alfresco.share.docker.version>23.2.1</alfresco.share.docker.version>
<alfresco.share.version>23.2.0.72</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>
<id>enterprise-232-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>7.2.0</alfresco.platform.version>
<alfresco.share.docker.version>7.2.0</alfresco.share.docker.version>
<alfresco.share.version>14.96</alfresco.share.version>
<alfresco.platform.version>23.2.1</alfresco.platform.version>
<alfresco.share.docker.version>23.2.1</alfresco.share.docker.version>
<alfresco.share.version>23.2.0.72</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>
<!-- 23.3 -->
<profile>
<id>community-233-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>23.3.3</alfresco.platform.version>
<alfresco.share.docker.version>23.3.3</alfresco.share.docker.version>
<alfresco.share.version>23.3.0.85</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-233-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>23.3.3</alfresco.platform.version>
<alfresco.share.docker.version>23.3.3</alfresco.share.docker.version>
<alfresco.share.version>23.3.0.85</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>
<!-- 23.4 -->
<profile>
<id>community-234-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>23.4.1</alfresco.platform.version>
<alfresco.share.docker.version>23.4.1</alfresco.share.docker.version>
<alfresco.share.version>23.4.0.46</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-234-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>23.4.1</alfresco.platform.version>
<alfresco.share.docker.version>23.4.1</alfresco.share.docker.version>
<alfresco.share.version>23.4.0.46</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>
<!-- 23.5 -->
<profile>
<id>enterprise-235-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>23.5.0</alfresco.platform.version>
<alfresco.share.docker.version>23.5.0</alfresco.share.docker.version>
<alfresco.share.version>23.5.0.11</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>
<!-- 25.1 -->
<profile>
<id>community-251-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>25.1.0</alfresco.platform.version>
<alfresco.share.docker.version>25.1.0</alfresco.share.docker.version>
<alfresco.share.version>25.1.0.56</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-251-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>25.1.0</alfresco.platform.version>
<alfresco.share.docker.version>25.1.0</alfresco.share.docker.version>
<alfresco.share.version>25.1.0.56</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>
<!-- 25.2 -->
<profile>
<id>community-252-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>25.2.0</alfresco.platform.version>
<alfresco.share.docker.version>25.2.0</alfresco.share.docker.version>
<alfresco.share.version>25.2.0.46</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-252-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>25.2.0</alfresco.platform.version>
<alfresco.share.docker.version>25.2.0</alfresco.share.docker.version>
<alfresco.share.version>25.2.0.46</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>
<!-- 26.1 -->
<profile>
<id>community-261-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-community-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>26.1.0</alfresco.platform.version>
<alfresco.share.docker.version>26.1.0</alfresco.share.docker.version>
<alfresco.share.version>26.1.0.45</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-261-tests</id>
<properties>
<alfresco.bomDependency.artifactId>acs-packaging</alfresco.bomDependency.artifactId>
<alfresco.platform.version>26.1.0</alfresco.platform.version>
<alfresco.share.docker.version>26.1.0</alfresco.share.docker.version>
<alfresco.share.version>26.1.0.45</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>
@@ -181,16 +318,48 @@
<profile>
<id>sdk-release</id>
<properties>
<maven.site.url>https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest</maven.site.url>
<maven.release.goals>deploy site-deploy</maven.release.goals>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.10.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.4.0</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<version>3.2.8</version>
<executions>
<execution>
<id>sign-artifacts</id>
@@ -203,6 +372,7 @@
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
<passphrase>${gpg.passphrase}</passphrase>
</configuration>
</execution>
</executions>
@@ -386,7 +556,7 @@
<id>alfresco-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
</repository>
<!-- Activiti Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
<!-- Activiti Enterprise Edition Artifacts, put username/pwd for server in .ci.settings.xml -->
<repository>
<id>activiti-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url>
@@ -399,8 +569,8 @@
<distributionManagement>
<repository>
<id>central-releases-staging</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
<id>alfresco-public</id>
<url>https://nexus.alfresco.com/nexus/repository/releases</url>
</repository>
<snapshotRepository>
<id>alfresco-public-snapshots</id>
+3
View File
@@ -0,0 +1,3 @@
# To avoid the provided dependencies we set the scope to runtime. See: https://docs.veracode.com/r/c_sc_scan_directives
# runtime: to restrict the scan to compile and runtime dependencies.
scope: runtime