Compare commits

...
Author SHA1 Message Date
dependabot[bot] 9bf43a9586 Bump junit:junit from 4.13.1 to 4.13.2
Bumps [junit:junit](https://github.com/junit-team/junit4) from 4.13.1 to 4.13.2.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.13.1...r4.13.2)

---
updated-dependencies:
- dependency-name: junit:junit
  dependency-version: 4.13.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 23:58:01 +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
Andrea Ligios 42e5726313 4.5.0-SNAPSHOT 2022-03-22 13:07:16 +01:00
Andrea Ligiosandmpichura 9c28f38f9c SDK 4.4 (#633)
* Add 7.2 tests, remove 6.1 tests

* Fixed the version of Share in default build

* 7.2.0-A30

* Modification for solr properties.

* REPO-5709: adding alfresco-internal repository.

* REPO-5709: adding alfresco-internal repository.

* REPO-5709: adding alfresco-internal repository.

* REPO-5709: removing ACS 6.2 related tests.

* REPO-5709: adding alfresco-internal repository.

* 7.2.0

* Updated Docs and Tests versions

* Updated version in pom and documentation

* 4.4.0

Co-authored-by: mpichura <maciej.pichura@hyland.com>
2022-03-22 12:58:35 +01:00
Vítor Moreira 1aff0f2a01 Fix/mnt 22827 remove activemq all dependency (#631)
* MNT-22827: remove activemq-all dependency
2022-03-09 15:07:59 +00:00
Andrea Ligios 712eb22dd4 Getting ready for the next 4.4.0-SNAPSHOT version 2021-09-30 17:21:03 +02:00
Andrea Ligios 905f589169 Preparing for the release (4.3.0-SNAPSHOT to 4.3.0) 2021-09-30 15:44:05 +02:00
Andrea Ligiosandgfertuso b1139739b8 SDK 4.3 (#626)
* Improved the readability of the pom.xml

* Introduced 7.1 + upgrade others to the latest version

* Handled the new Share's versions separation

* Use a variable to set the user in the Dockerfile

* Final versions

* Updated README [ci skip]

* Fixed the broken URL to the new one

* Wildcard on the version to prevent further useless updates

Co-authored-by: gfertuso <giovanni.fertuso@alfresco.com>
2021-09-30 15:37:50 +02:00
Andrea Ligios 219389197a Revert "REPO-5641 - Allows localised file names"
This reverts commit 2319b4d1b5.
2021-09-09 17:39:19 +02:00
Andrea Ligios 782740ef99 REPO-5639 - Includes the ActiveMQ-All Jar 2021-09-09 17:39:19 +02:00
Andrea Ligios 2ce90ecc93 REPO-5641 - Allows localised file names 2021-09-09 17:39:19 +02:00
Andrea Ligios b3a1dabf72 Upgraded the Build Tools to 1.1.5 2021-09-09 17:39:19 +02:00
Andrea Ligios 7928ae358b Activated branch sdk-4.3 on Travis 2021-09-09 17:39:19 +02:00
Andrea Ligios a204305226 REPO-5677 - Updated HttpClient to 4.5.13 2021-09-09 17:39:19 +02:00
Andrea Ligios 0352e2fd07 Updated Commons IO from 2.5 (unsecure) to 2.11.0 2021-09-09 17:39:19 +02:00
Andrea Ligios af396f70ac REPO-5676 - Removed the reference to the unsafe & unneeded repo 2021-09-09 17:39:19 +02:00
Nebil Kisa 8634cc1d37 Merge branch 'master' of github.com:Alfresco/alfresco-sdk 2021-06-03 13:06:07 +01:00
Andrea Ligios a3a7e9f158 Fixed the SNAPSHOT version in SCM 2021-03-29 09:44:00 +02:00
Nebil Kisa 0d2c76cc0c Add pinentry-mode to gpg config 2021-03-19 15:33:55 +00:00
gfertuso a39f4248a2 [maven-release-plugin][skip ci]prepare for next development iteration 2021-03-19 11:26:26 +00:00
gfertuso 97967c35e6 [maven-release-plugin][skip ci]prepare release alfresco-sdk-aggregator-4.2.0 2021-03-19 11:26:21 +00:00
gfertuso d92a8d14e0 Revert pom.xml 2021-03-19 11:20:22 +00:00
gfertuso c672e75db6 Revert "[maven-release-plugin][skip ci]prepare release alfresco-sdk-aggregator-4.2.0"
This reverts commit 5ea45fcc
2021-03-19 11:12:05 +00:00
gfertuso 5ea45fcca1 [maven-release-plugin][skip ci]prepare release alfresco-sdk-aggregator-4.2.0 2021-03-19 11:02:45 +00:00
gfertuso df508d3535 Revert pom.xml 2021-03-19 10:56:27 +00:00
gfertuso dc8ac36265 Revert "[maven-release-plugin][skip ci]prepare release alfresco-sdk-aggregator-4.2.0"
This reverts commit 232db55b
2021-03-19 10:54:17 +00:00
gfertuso 0464f9bd66 Revert "[maven-release-plugin][skip ci]prepare for next development iteration"
This reverts commit ce64b89d
2021-03-19 10:54:08 +00:00
gfertuso ce64b89d1d [maven-release-plugin][skip ci]prepare for next development iteration 2021-03-19 10:34:33 +00:00
gfertuso 232db55be7 [maven-release-plugin][skip ci]prepare release alfresco-sdk-aggregator-4.2.0 2021-03-19 10:34:21 +00:00
Andrea Ligios 584e3e0339 SDK 4.2 - Final (#614)
* Added ActiveMQ to cope with Camel refactoring in 7.0.0-A24+
2021-03-18 14:13:16 +01:00
Andrea Ligiosandgfertuso a6f0b34074 Sdk 4.2 (#611)
* SDK 4.2 - Final adjustments

Co-authored-by: gfertuso <giovanni.fertuso@alfresco.com>
2021-02-12 18:59:56 +01:00
Andrea Ligiosandgfertuso bf853d72c8 SDK 4.2 (#609)
* migration to ACS and Share 7

* updated documentation to refer to version 4.2

* Migrated to Travis

* Dynamic Keystore settings + APL2 License fix

* Enterprise images pulled from quay.io

Co-authored-by: gfertuso <giovanni.fertuso@alfresco.com>
2021-02-09 13:18:12 +01:00
dependabot[bot] 7f19645f20 Bump junit (#603)
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-05 16:42:00 +01:00
dependabot[bot] e61146ea07 Bump junit from 4.8.1 to 4.13.1 in /archetypes/archetypes-it (#602)
Bumps [junit](https://github.com/junit-team/junit4) from 4.8.1 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.8.1...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-05 16:39:58 +01:00
dependabot[bot] 10809ad2ba Bump junit from 4.12 to 4.13.1 in /modules/alfresco-rad (#601)
Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-05 16:38:53 +01:00
Andrea Ligiosandgfertuso 3d2ff7b1e8 travis migration (#607)
* Migrated to Travis

Co-authored-by: gfertuso <giovanni.fertuso@alfresco.com>
2021-02-02 19:05:55 +01:00
Ole Hejlskov 8998e37414 Merge pull request #598 from Alfresco/mwallach-amp-docs
Mwallach amp docs
2020-06-08 16:28:53 +02:00
Michael Wallach c3ae5760e8 modified to reference extensions directory 2020-06-04 09:34:23 -04:00
Michael Wallach 89d4d3fd9a Added section 'another option for installing 3rd Party AMPs' 2020-06-03 10:34:14 -04:00
Jose Luis Osorno 372afc6ba4 Archetypes - Update ACS 6.2.0 version 2019-11-18 10:28:46 +01:00
Jose Luis Osorno 3908cc73b7 Archetypes - Update ACS enterprise version
Update version to 6.2.0-RC3.
2019-10-21 09:28:24 +02:00
Jose Luis Osorno 76d813f2f4 Archetypes - Update SDK and alfresco versions
- Update SDK version to 4.1.0-SNAPSHOT
- Update Alfresco versions for 6.2.0
2019-10-18 11:15:12 +02:00
Jose Luis Osorno 5edd1f7b43 Merge pull request #582 from Alfresco/sdk-4/doc-62-support
Documentation - Update documentation to SDK 4.1
2019-10-18 10:18:44 +02:00
Jose Luis Osorno 12db1fcb17 Documentation - Update documentation to SDK 4.1
- Update SDK and ACS versions
- New article how to setup ATS in alfresco community
- New troubleshooting section about configuring ATS
2019-10-18 10:16:18 +02:00
Jose Luis Osorno 3e4a793f5d Merge pull request #581 from Alfresco/bug/578
Archetypes - Fix deprecated use of maven project name
2019-10-18 08:22:21 +02:00
Jose Luis Osorno fba08f9ab7 Archetypes - Fix deprecated use of maven project name
Fix the use of the deprecated maven key ${build.finalName}. Using ${project.build.finalName}
instead.
2019-10-18 08:20:31 +02:00
Jose Luis Osorno 56300e35aa Merge pull request #580 from Alfresco/sdk-4/workflow-sample-fix
Archetypes - Fix workflow sample
2019-10-18 08:17:55 +02:00
Jose Luis Osorno b4b0be82ae Archetypes - Fix workflow sample
Fix workflow sample in aio and platform archetypes
2019-10-18 08:15:46 +02:00
Jose Luis Osorno 50f43f23d3 Merge pull request #579 from Alfresco/sdk-4/acs-62-support
Archetypes - Add support for ACS 6.2
2019-10-18 08:11:45 +02:00
Jose Luis Osorno 2ee5120413 Archetypes - Add support for ACS 6.2
- New alfresco community and enterprise 6.2.0 profiles
- Execute dockerfile as root to avoid issues applying AMPs
- Disable transformation service by default in archetypes
2019-10-18 08:06:00 +02:00
Ole Hejlskov 7f861a9672 Merge pull request #564 from nbarithel/pwd_whitespace
Allow working directory to include whitespaces
2019-04-16 15:24:13 +02:00
Nicolas Barithel b199afcd7e Allow working directory to include whitespaces 2019-04-05 14:36:09 +02:00
Jose Luis Osorno 7baf3fb0a1 Merge pull request #563 from Alfresco/sdk-4.0
SDK 4.0 RELEASE
2019-03-27 15:41:34 +01:00
Jose Luis Osorno 54504b4962 Archetypes IT - Fix IT archetype version number
Modify the archetypes ITs to get the version number from the pom.xml
file instead of hardcode the version.
2019-03-27 15:09:00 +01:00
Jose Luis Osorno 1503134f77 Merge branch 'master' into sdk-4.0 2019-03-27 14:53:44 +01:00
Jose Luis Osorno 71ed669795 Merge pull request #562 from Alfresco/sdk-3.1
SDK 3.1 RELEASE
2019-03-27 14:46:25 +01:00
Jose Luis Osorno 7d9b7de8c8 Documentation - Update SDK-3.1 SDK-4.0 release versions 2019-03-27 14:42:43 +01:00
Martin Bergljung 7483212c1f Merge branch 'sdk-4.0' of https://github.com/Alfresco/alfresco-sdk into sdk-4.0 2019-03-27 10:42:29 +00:00
Martin Bergljung 3d30a5893b Added documentation around working with the projects 2019-03-27 10:25:53 +00:00
alfresco-build 32666d167f [maven-release-plugin] prepare for next development iteration 2019-03-26 20:19:31 +00:00
alfresco-build b737483c18 [maven-release-plugin] prepare release alfresco-sdk-aggregator-4.0.0 2019-03-26 20:19:24 +00:00
alfresco-build 4cdc281f7f [maven-release-plugin] prepare for next development iteration 2019-03-26 18:50:32 +00:00
alfresco-build f4c3ac7c84 [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.1.0 2019-03-26 18:50:25 +00:00
alfresco-build af8c6c42c4 [maven-release-plugin] prepare for next development iteration 2019-03-26 16:25:15 +00:00
alfresco-build e61c08c650 [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.1.0 2019-03-26 16:25:06 +00:00
Ole Hejlskov cc14a39be4 Merge pull request #560 from Alfresco/sdk-4/platform-compile-approach
Archetypes - Change platform archetype build approach
2019-03-26 16:32:59 +01:00
Ole Hejlskov c910fa2b40 Merge pull request #561 from Alfresco/sdk-4/share-compile-approach
Archetypes - Change share archetype build approach
2019-03-26 16:32:47 +01:00
Ole Hejlskov 3050c9deb4 Bump version to 3.1.0 2019-03-26 16:06:39 +01:00
Jose Luis Osorno 1ce98f09aa Archetypes - Change share archetype build approach
- Build the project using package goal instead of install
- Remove unused test tasks of the scripts
2019-03-26 13:45:33 +01:00
Jose Luis Osorno 6dc927e668 Archetypes - Update default enterprise version to 5.2.4 2019-03-26 13:12:35 +01:00
Jose Luis Osorno 68155ef5a6 Archetypes - Move assembly plugin up
In the platform archetype move the assembly plugin definition
before the maven resources plugin definition to be executed
always before the copy of the amp in the extensions folder.
2019-03-26 12:47:25 +01:00
Jose Luis Osorno e5e0a7f76d Documentation - Update way of generating AMP in platform 2019-03-26 12:38:14 +01:00
Jose Luis Osorno ea4c12a836 Archetypes - Change platform archetype build approach
- Build the project using package goal instead of install
- Copy the test dependencies only when IT is executed
- Add the build_start_it_supported task to execution scripts
2019-03-26 12:25:07 +01:00
Jose Luis Osorno d949a778ef Merge pull request #559 from Alfresco/sdk-4/bug-reload-acs
Archetypes - Compile IT module to avoid fail reload ACS
2019-03-26 08:50:18 +01:00
Jose Luis Osorno 099ac2ddeb Archetypes - Compile IT module to avoid fail reload ACS
Add the compilation of the IT maven module to the reload_acs script
task to avoid a compilation failure if this module is not compiled
in this task.
2019-03-26 08:42:09 +01:00
Ole Hejlskov b0bc6a38d5 Merge pull request #558 from Alfresco/sdk-4/acs-61-versions
Archetypes - Update Alfresco 6.1 versions
2019-03-25 16:56:04 +01:00
Jose Luis Osorno 1d1e89a86d Archetypes - Remove unnecessary properties 2019-03-25 16:51:05 +01:00
Jose Luis Osorno 517b20859e Documentation - Update Alfresco versions 2019-03-25 16:20:41 +01:00
Jose Luis Osorno e27d6f1a70 Archetypes - Update ACS 6.1 versions
- Update the ACS and share versions to Alfresco 6.1.
- Set Alfresco community 6.1 as the default one.
- Create new profile to test Alfresco community 6.0.
2019-03-25 16:15:09 +01:00
Jose Luis Osorno 10557e500d Merge pull request #557 from Alfresco/bug/551
Archetypes - Make ACS containers optional in share archetype
2019-03-25 15:15:57 +01:00
Jose Luis Osorno f7e4ea1b5c Archetypes - Make ACS containers optional in share archetype
Modify the docker-compose.yml file of the share-jar archetype in order to
comment out the unnecessary containers (ACS, ASS, DB). They're optional and
can be used simply removing the comments.
2019-03-25 15:10:51 +01:00
Ole Hejlskov 7838649c81 Merge pull request #556 from Alfresco/sdk-4/aio-build-it-supported
Archetypes - Add build with IT supported task
2019-03-25 12:27:37 +01:00
Jose Luis Osorno deaf4c06b8 Archetypes - Add build with IT supported task
Modify the run scripts to add the task: build_start_it_supported. After the
last changes regarding the way the project is compiled and retrieves the
IT dependencies, it losted the ability to run the project in docker with
IT support (including the libraries required to execute IT) but without
executing the tests. It only had build_start (no IT supported) and build_test
(IT supported but started and stopped the environment after IT execution).

This new task allows the execution of the docker environment with IT execution
supported to cover the next use cases:
- Running IT classes from IDE (for instance, to debug the execution).
- Running IT classes with hot reload enabled.
2019-03-25 12:14:43 +01:00
Jose Luis Osorno 067d751193 Merge pull request #547 from it-novum/sdk-4.0-build-and-docker-fixes
Sdk 4.0 build and docker fixes
2019-03-25 10:28:15 +01:00
Jose Luis Osorno c0658f3a94 Merge pull request #555 from Alfresco/bug/548-549
Archetypes - Update module dependency version
2019-03-25 08:23:20 +01:00
Jose Luis Osorno e378eec194 Archetypes - Update project version in dependency
Change the share module dependency version to project.version in order
to avoid errors updating project version.

Fix minor typo.
2019-03-25 08:19:05 +01:00
Jose Luis Osorno 01e79d6953 Archetypes - Update project version in dependency
Change the platform module dependency version to project.version in order
to avoid errors updating project version.
2019-03-25 08:17:23 +01:00
Ole Hejlskov b00ee7f5e5 Merge pull request #545 from it-novum/sdk-4.0-remove-duplicate-versions
Sdk 4.0 remove duplicate versions
2019-02-15 16:07:22 +01:00
Piotr Anders 6e5445a271 * Changing run scripts to execute maven package/verify instead of install (and to run unit tests during build).
* Changing artifacts collection for docker deployment in platform-docker module to use scopes (for integration tests) and adding comment how to deal with amps only or amps+jars extenstions.
2019-02-07 17:11:16 +01:00
Piotr Anders 388f74eea3 Removing duplicate library versions which are managed via imported acs-packaging pom. 2019-02-07 11:42:02 +01:00
Piotr Anders 2db3051599 Renaming modules in AIO archetype:
[artifactId]-plaform-jar -> [artifactId]-platform
[artifactId]-share-jar -> [artifactId]-share
integration-tests -> [artifactId]-integration-tests
2019-02-07 11:05:05 +01:00
panderspl 8bb094b61a Merge pull request #5 from Alfresco/sdk-4.0
Syncing upstream Sdk 4.0
2019-02-07 09:55:41 +01:00
Ole Hejlskov a4e79cc569 Merge pull request #540 from jpotts/upgrade-to-4.0
Steps to upgrade to 4.0
2019-01-31 10:59:12 +01:00
Ole Hejlskov c14887f549 Merge pull request #542 from Alfresco/bug/539
Archetypes - Remove redundant dependency copy
2019-01-31 10:58:32 +01:00
panderspl 4e225147ea Merge pull request #4 from Alfresco/sdk-4.0
Syncing upstream Alfresco/alfresco-sdk(sdk-4-0)
2019-01-30 11:12:13 +01:00
Jose Luis Osorno c5e92bdc25 Archetypes - Remove redundant dependency copy
Modify the AIO archetype docker modules to remove the redundant copy
of the dependency to the corresponding jar module (share or platform).
2019-01-30 08:14:34 +01:00
jpotts ef59a6a39a Add step to clean up project name references in run.sh and run.cmd 2019-01-29 14:16:41 +00:00
Jeff Potts 42dc3659bd Add more details around platform module and share module dependencies. Add a blurb about deleting alf_data_dev. Add a short section on how to test. 2019-01-29 14:04:05 +00:00
Jeff Potts 5d1fb4f4d9 Formatting tweaks and example project name change 2019-01-29 13:46:21 +00:00
Jeff Potts 185c4ad2bd Add new file to document upgrade steps
The new upgrading.md file documents steps necessary to upgrade from SDK 3.0.1 to SDK 4.0.0.
2019-01-29 07:26:48 -06:00
Ole Hejlskov 0b85afc6fd Merge pull request #536 from Alfresco/sdk-4/platform-it
Archetypes - Add ITs to platform jar archetype
2019-01-29 14:07:44 +01:00
Ole Hejlskov 9db0f5cff1 Merge pull request #534 from Alfresco/sdk-4/doc-change-db
Documentation - Switching ACS database
2019-01-29 14:07:35 +01:00
Ole Hejlskov 243f94227b Merge pull request #537 from Alfresco/bug/535
BUGFIX - Archetypes - Remove redundant license fileSet
2019-01-29 14:07:24 +01:00
Ole Hejlskov 330c66a1be Merge pull request #538 from Alfresco/sdk-4/gitignore
Archetypes - Add gitignore files to archetypes
2019-01-29 14:06:50 +01:00
Jose Luis Osorno ab4927afeb Archetypes - Remove redundant license fileSet
Modify the AIO and platform-jar archetypes to remove a redundant fileSet
for the license folder.
2019-01-29 13:40:02 +01:00
Jose Luis Osorno c48dffea69 Archetypes - Add gitignore files to archetypes
Add standard gitignore files to the archetypes.
2019-01-29 12:33:09 +01:00
Jose Luis Osorno b3391a67c3 Archetypes - Add ITs to platform jar archetype
Modify the platform JAR archetype to include sample ITs.
2019-01-29 10:20:00 +01:00
Jose Luis Osorno 465aa3de5a Documentation - Switching ACS database
Add a new article to explain how to switch from the default
PostgreSQL database to another one (MySQL).
2019-01-29 08:48:14 +01:00
Jose Luis Osorno b32a78b7b3 Merge branch 'master' into sdk-4.0 2019-01-28 15:38:49 +01:00
Jose Luis Osorno 7bd5c58136 Merge pull request #533 from Alfresco/sdk-4/acs-61-support
Archetypes - Add support for ACS 6.1
2019-01-28 13:53:56 +01:00
Jose Luis Osorno 5b21775793 Merge pull request #532 from Alfresco/sdk-4/documentation-update
Documentation - SDK 4 Documentation
2019-01-28 13:32:03 +01:00
Ole Hejlskov 1d551d1895 Merge pull request #531 from Alfresco/bug/sdk-3-bugfixing
BUGFIX - SDK 3.0.1 bug fixing
2019-01-28 12:36:36 +01:00
Jose Luis Osorno 766847585e Fix javadoc errors
- Fix the javadoc error raised by the javadoc-maven-plugin.
- Configure the javadoc-maven-plugin to accept custom javadoc annotations
from maven mojo development.
2019-01-28 12:30:05 +01:00
Ole Hejlskov b366ae3ddd Merge pull request #530 from Alfresco/bug/255
BUGFIX - 255 - Archetypes - Add JS minification
2019-01-25 11:36:27 +01:00
Ole Hejlskov 19369a23b5 Merge pull request #529 from Alfresco/bug/457
BUGFIX - 457 - Archetypes - Modify IT company home assertion
2019-01-25 11:35:33 +01:00
Jose Luis Osorno 93c28f5dde 255 - Archetypes - Add JS minification
Modify the pom.xml files of the archetypes to include the
yuicompressor-maven-plugin in order to configure the minification
of the JS files.
2019-01-24 17:09:44 +01:00
Jose Luis Osorno 7792574dae 457 - Archetypes - Modify IT company home assertion
Modity the assertion about the name of the company home node in the
integration test DemoComponentIT to avoid issues with the language
in which the Alfresco environment is installed. It asserts now
about the path of the node which is independant from the language
of the application.
2019-01-24 12:34:50 +01:00
Ole Hejlskov e8976addea Merge pull request #528 from Alfresco/bug/440
BUGFIX - 440 - Maven Plugin - Make Tomcat Maven Plugin version configurable
2019-01-24 11:48:55 +01:00
Jose Luis Osorno a7f2db61e8 440 - Maven Plugin - Make Tomcat Maven Plugin version configurable
Add a new parameter (tomcatMavenPluginVersion) and maven property
(maven.alfresco.tomcat.maven.plugin.version) to be able to set the version of
the Tomcat Maven Plugin that is going to be used in the Alfresco Maven
Plugin to run the project.

This way, an integrator can create a patched version of the Tomcat Plugin to
solve any issue with it and tell the Alfresco Maven Plugin to use that fixed
version of the Tomcat Plugin. This is helpful with the reported issue about
the maxHttpHeaderSize (https://github.com/Alfresco/alfresco-sdk/issues/440).
2019-01-24 11:37:21 +01:00
Ole Hejlskov 2926a9ae83 Merge pull request #527 from Alfresco/bug/526
BUGFIX - 526 - Documentation - Installing 3rd party AMPs
2019-01-23 13:05:14 +01:00
Jose Luis Osorno 246ae7a138 526 - Documentation - Installing 3rd party AMPs
Fix the documentation about installing 3rd party AMPs because they
must be added as a dependency in the docker module and not in the
jar module.
2019-01-23 10:34:35 +01:00
Ole Hejlskov 387a584aa1 Merge pull request #525 from Alfresco/bug/420
BUGFIX - 420 - Maven Plugin - Add goal to generate WARs only
2019-01-22 15:15:55 +01:00
Ole Hejlskov edd8d8317b Merge pull request #524 from Alfresco/bug/425
BUGFIX - 425 - Maven Plugin - Support for platform context file
2019-01-22 15:01:48 +01:00
Jose Luis Osorno eb30a2d9e2 Merge pull request #491 from tartard/master
BUGFIX - Allow to write test methods in abstract classes
2019-01-22 11:01:33 +01:00
Jose Luis Osorno cf777840be Merge pull request #496 from tartard/solr-cron
Make the Solr indexation frequency customizable
2019-01-22 10:01:15 +01:00
Jose Luis Osorno efec137a10 Merge branch 'bug/sdk-3-bugfixing' into solr-cron 2019-01-22 10:00:46 +01:00
Jose Luis Osorno 210bee7d76 420 - Maven Plugin - Add goal to generate WARs only
Add a new goal to the Alfresco Mvane Plugin to be able to generate
the WAR files (platform, share and/or activity if they're enabled)
without the need of running the Tomcat server.
2019-01-22 09:33:39 +01:00
Jose Luis Osorno 534e70a2c4 425 - Maven Plugin - Support for platform context file
Code change migrated from PR https://github.com/Alfresco/alfresco-sdk/pull/431.

Change implemented by the user @pzrinscak.

Modify the Alfresco Maven Plugin to add the possibility to set
a custom Tomcat context file for the platform war. This features
enables the possibility to define custom JNDI resources in the
context of the Alfresco platform application.
2019-01-22 08:21:11 +01:00
Ole Hejlskov 0fcec384fd Merge pull request #523 from Alfresco/bug/469
BUGFIX - 469 - Maven Plugin - AMP files order
2019-01-21 15:59:02 +01:00
Jose Luis Osorno 9d1c2feaf2 469 - Maven Plugin - AMP files order
Modify the Alfresco Maven Plugin in order to take into
account the order in which the AMP modules were defined
as the same order of the AMPs to be applied to the war
files.
2019-01-21 15:16:46 +01:00
Ole Hejlskov 709b820f2c Merge pull request #520 from Alfresco/bug/MNT-19097
BUGFIX - MNT-19097 - Ensure unmount war files
2019-01-21 11:08:00 +01:00
Jose Luis Osorno 217f135006 Merge branch 'bug/sdk-3-bugfixing' into bug/MNT-19097 2019-01-21 11:04:49 +01:00
Ole Hejlskov 64843588f8 Merge pull request #521 from Alfresco/bug/499
BUGFIX - 499 - Maven Plugin - Add the ability to set Tomcat version
2019-01-21 10:59:56 +01:00
Ole Hejlskov f1a7e645e4 Merge pull request #522 from Alfresco/bug/498
BUGFIX - 498 - Archetypes - Add module-specific log4j.properties to AMPs
2019-01-21 10:54:28 +01:00
Jose Luis Osorno e3ae54be9b 498 - Archetypes - Add module-specific log4j.properties to AMPs
Add module-specific log4j.properties files to the archetypes and modify the assembly
files to include them in the AMPs. This way, it is possible to add custom log
configuration for each developed module.
2019-01-21 08:28:41 +01:00
Jose Luis Osorno 2871883c7d 499 - Maven Plugin - Add the ability to set Tomcat version
Add a new parameter to the Alfresco Maven Plugin in order to be able to set the
Tomcat version to be executed when running Tomcat through the Tomcat Maven Plugin.

The parameter "tomcatVersion" (or the Maven property "maven.alfresco.tomcat.version")
allows to modify the default Tomcat version used by the Tomcat Maven Plugin. The
default version currently is 7.0.47 (set by the Tomcat Maven Plugin v2.2). If the version
of Tomcat is not set via the plugin parameter or the maven property, then the default
one is used.
2019-01-18 15:56:26 +01:00
Jose Luis Osorno 3661a06206 Documentation - Remove not required param in markdown
Remove not required ?raw=true parameter in markdown images.
2019-01-18 14:36:06 +01:00
Ole Hejlskov 436b9a455a Update dev-env-eclipse.md 2019-01-18 14:23:55 +01:00
Ole Hejlskov 5418b57325 Update dev-env-eclipse.md
Quick change to image references to test with ABN
2019-01-18 14:22:36 +01:00
Jose Luis Osorno 376815c746 MNT-19097 - Ensure unmount war files
Ensure the unmount of the war files in the alfresco maven plugin to avoid
the exception thrown by the FsSyncShutdownHook.
2019-01-18 12:29:32 +01:00
Jose Luis Osorno b76bb5730c Documentation - SDK 4 what's new
First version of the What's new article for SDK 4.0.
2019-01-17 16:15:07 +01:00
Jose Luis Osorno 7c4fc7a700 Documentation - Update root README file 2019-01-17 12:05:45 +01:00
Jose Luis Osorno 62dc99e9c6 Documentation - Add middle menu readme files
Add README.md files to the middle menu options to fit the requirements
of Alfresco Builder Network (ABN) in terms of structure.
2019-01-17 11:48:48 +01:00
Jose Luis Osorno ccee83f92d Documentation - Reorganise documentation content
Reorganise the documentation content to fix the required folder structure
and file naming for the migration to ABN.
2019-01-17 11:32:21 +01:00
Jose Luis Osorno 0027ef3ec4 Documentation - Base SDK intro page
Add a new documentation article as the base entrypoint to the
SDK documentation.
2019-01-17 08:42:54 +01:00
Jose Luis Osorno 32d286cb50 Documentation - Switch ACS/Share versions
Add an article to explain how to switch from one version of
ACS/Share to another.
2019-01-16 16:31:13 +01:00
Ole Hejlskov 7017b057ea Update enterprise-docker-registry.md
Clarify that customers and partners can request access
2019-01-16 15:58:47 +01:00
Ole Hejlskov bb3780d31d Update enterprise-mvn-repo.md
Clarify a bit that we're talking about artifacts.alfresco.com
2019-01-16 15:57:40 +01:00
Jose Luis Osorno 2954b72765 Documentation - Some fixes after review 2019-01-16 12:13:02 +01:00
Jose Luis Osorno 13f6457fbd Documentation - Integration tests
Add some articles to explain how integration tests works
and how to run these tests.
2019-01-16 11:59:45 +01:00
Jose Luis Osorno 29006d1e93 Documentation - Some fixes after review 2019-01-15 17:08:58 +01:00
Jose Luis Osorno 301d0e81a0 Documentation - Project structures
Complete project structure articles.
2019-01-15 14:36:17 +01:00
Jose Luis Osorno 4002c01134 Documentation - Project structures
Add articles to explain the SDK maven archetypes and the structure of
the projects generated with them.
2019-01-15 14:00:18 +01:00
Jose Luis Osorno 64d53e0fe6 Documentation - Working with Enterprise
Add some articles to explain how to properly configure the development
environment to work with Alfresco Enterprise instead of the Community
version.
2019-01-15 13:58:23 +01:00
Jose Luis Osorno d1fb454772 Documentation - Control order AMPs applied
Add a new section to the article "Working with AMPs" to explain how you
can control the order the AMPs are applied.
2019-01-15 10:30:37 +01:00
Jose Luis Osorno cdcf9c6a96 Documentation - Review fixes 2019-01-15 08:28:08 +01:00
Jose Luis Osorno 9d7c80a147 Documentation - Add metadata header
Modify the documentation articles to add a header with required
metadata.
2019-01-14 17:20:57 +01:00
Jose Luis Osorno beae915836 Merge branch 'sdk-4/acs-61-support' into sdk-4/documentation-update 2019-01-14 16:19:21 +01:00
Jose Luis Osorno a6a199ad50 Merge branch 'sdk-4.0' into sdk-4/acs-61-support 2019-01-14 16:15:56 +01:00
Ole Hejlskov 328faa3a5a Merge pull request #519 from Alfresco/sdk-4/avoid-error-msg
Archetypes - Logging improvements
2019-01-14 16:09:57 +01:00
Jose Luis Osorno cdaa995422 Archetypes - Fix AIO run.bat 2019-01-14 16:01:48 +01:00
Jose Luis Osorno 8617c29300 Archetypes - Change postgresql log level
Change the log level of the postgresql container to avoid showing
needless messages.
2019-01-14 15:47:12 +01:00
Jose Luis Osorno d2e21a38c6 Archetypes - Scripts improvement error messages
Improve the archetypes' run scripts to avoid needless error messages:
- Execute stop task only if the docker-compose file exists in the target folder
- Remove unnecessary docker rmi commands
2019-01-14 15:44:36 +01:00
Jose Luis Osorno a01573eff8 Archetypes - Upgrade 6.1 enterprise versions
Upgrade the ACS 6.1 enterprise version to RC4.
2019-01-14 12:07:13 +01:00
Jose Luis Osorno 079b916d46 Documentation - Working with AMPs
Add a new article to explain how to work with AMPs instead of
JARs to deploy the developed Alfresco modules.
2019-01-14 08:10:54 +01:00
Jose Luis Osorno 37275bcbf1 Documentation - Dev env IntelliJ IDEA
Add a new article to explain how to setup the development
environment using IntelliJ IDEA IDE.
2019-01-14 08:10:04 +01:00
Jose Luis Osorno 7d521e9f27 Documentation - Dev env Eclipse
Add a new article to explain how to setup the development
environment using Eclipse IDE.
2019-01-14 08:08:42 +01:00
alfresco-build a7211c206b [maven-release-plugin] prepare for next development iteration 2019-01-11 12:06:39 +00:00
alfresco-build 862c998542 [maven-release-plugin] prepare release alfresco-sdk-aggregator-4.0.0-beta-1 2019-01-11 12:06:33 +00:00
Jose Luis Osorno 29fdb576ab Fix javadoc errors
- Fix the javadoc error raised by the javadoc-maven-plugin.
- Configure the javadoc-maven-plugin to accept custom javadoc annotations
from maven mojo development.
2019-01-11 12:37:33 +01:00
Jose Luis Osorno 271ba3977f Fix javadoc errors
Fix the javadoc error raised by the javadoc-maven-plugin.
2019-01-11 12:10:12 +01:00
alfresco-build a1cbc0687d [maven-release-plugin] prepare for next development iteration 2019-01-11 10:49:52 +00:00
alfresco-build 408fda1fd3 [maven-release-plugin] prepare release alfresco-sdk-aggregator-4.0.0-beta-1 2019-01-11 10:49:45 +00:00
Jose Luis Osorno cb50841385 Merge branch 'sdk-4/acs-61-support' into sdk-4/documentation-update 2019-01-11 11:20:50 +01:00
Jose Luis Osorno 0d91902752 Merge branch 'sdk-4.0' into sdk-4/acs-61-support 2019-01-11 11:13:26 +01:00
Jose Luis Osorno 43405d037f Merge branch 'sdk-4.0' into sdk-4/documentation-update 2019-01-11 11:10:38 +01:00
Ole Hejlskov 4b98ff5846 Merge pull request #517 from Alfresco/sdk-4/it-logs
Archetypes - Add IT logs
2019-01-11 10:48:47 +01:00
Jose Luis Osorno 45cf124566 Documentation - Getting started
Add a new article to explain how to get started with the Alfresco
SDK 4.0. Mainly migrated from article http://docs.alfresco.com/5.2/concepts/sdk-getting-started.html.
2019-01-10 16:28:17 +01:00
Jose Luis Osorno 0f500fab25 Documentation - Projects usage 2019-01-10 15:58:24 +01:00
Jose Luis Osorno 26c4364063 Documentation - Projects usage
Initial version
2019-01-10 15:16:29 +01:00
Jose Luis Osorno 0c391693e4 Documentation - Troubleshooting 2019-01-10 13:32:33 +01:00
Jose Luis Osorno 92886f2ee9 Documentation - Troubleshooting
Add a new article to explain some troubleshooting.
2019-01-10 13:10:20 +01:00
Jose Luis Osorno 991caa2191 Documentation - How to remotely debug on IntelliJ IDEA
Add a new article to explain hot you can remotely debug the source code using
IntelliJ IDEA IDE.
2019-01-10 11:25:31 +01:00
Jose Luis Osorno f99521a851 Documentation - How to remotely debug on Eclipse
Add a new article to explain hot you can remotely debug the source code using
Eclipse IDE.
2019-01-10 11:01:40 +01:00
Jose Luis Osorno 49b489f181 Archetypes - Change log message to trace
Change the log message showing the environment variables of the
ProcessBuilder to trace.
2019-01-10 07:36:16 +01:00
Jose Luis Osorno 424e6a5a26 Archetypes - Fix batch scripts 2019-01-10 07:35:55 +01:00
Jose Luis Osorno a2b5e64848 Archetypes - Fix bash scripts 2019-01-09 20:39:52 +01:00
Jose Luis Osorno 6ae42f8fc0 Archetypes - Improve mvn executable localisation
Change the run script to use M2_HOME environment variable if it is
set to locate the mvn executable. If it is not set, then the script
uses a plain mvn command. So if the M2_HOME env variable is not set,
then the mvn executable must be in the path.
2019-01-09 19:27:41 +01:00
Ole Hejlskov c2ab1cf80a Merge branch 'sdk-4/it-logs' of https://github.com/Alfresco/alfresco-sdk into sdk-4/it-logs 2019-01-09 18:58:03 +01:00
Ole Hejlskov c7c4c49446 Try to force a Maven path from M2_HOME 2019-01-09 18:57:38 +01:00
Jose Luis Osorno efbfc8fbba Archetypes - Modify AbstractArchetypeIT to print error output
Modify AbstractArchetypeIT to print the rror output as well as the standard
output in the execution of the integration tests.
2019-01-09 18:37:27 +01:00
Jose Luis Osorno 6e5bf3a757 Archetypes - Add extra information in sh script 2019-01-09 18:27:40 +01:00
Jose Luis Osorno 4722c14121 Archetypes - Add logs to archetype ITs
Add more logs with the result of the execution of the projects
generation and building in the archetype ITs.
2019-01-09 17:44:18 +01:00
Jose Luis Osorno d2c4dcc015 Archetypes - Add logs to build_test task in scripts
Modify the run scripts to add docker-compose tail to the build_test
task in order to have more context of the execution of the tests in
docker.
2019-01-09 17:43:09 +01:00
Jose Luis Osorno 972c96ba0f Documentation - How to configure HotSwapAgent
Add a new article to explain how to set HotSwapAgent up in the projects
generated with the SDK.
2019-01-09 15:12:25 +01:00
Jose Luis Osorno 067473669b Documentation - Fixes and add images 2019-01-09 12:18:13 +01:00
Jose Luis Osorno 3b0c2ddc9b Documentation - How to configure JRebel
Add a new article to explain how to set JRebel up in the projects
generated with the SDK.
2019-01-09 11:56:42 +01:00
Jose Luis Osorno 9068c3209b Documentation - How to set up ATS
Add a new article to explain how to set up the Alfresco Transform Service
in the generated projects.
2019-01-09 11:54:40 +01:00
Jose Luis Osorno 4651f0a941 Archetypes - Do not filter gz files in resources 2019-01-08 09:51:39 +01:00
Jose Luis Osorno 6bef9222eb Archetypes - Add ACS 6.1 test profile
Add a new test profile named enterprise-61-tests to set the
properties required to use ACS 6.1 enterprise jars and docker
images in the integration tests.
2019-01-04 14:18:10 +01:00
Jose Luis Osorno a97975acec Archetypes - Blank messaging broker url
Add a non persistent localhost messaging broker url to avoid
ACS 6.1 enterprise to get stuck waiting for the ActiveMQ service
that it is not configured in the SDK generated projects.

A new documentation article will be created to show how to configure
the transformation service with docker for ACS 6.1 enterprise.
2019-01-04 14:14:33 +01:00
Ole Hejlskov f0e604bd8c Merge pull request #516 from Alfresco/sdk-4/it-verifier-archetypes
Archetypes - New ITs approach
2019-01-04 11:30:58 +01:00
Jose Luis Osorno 48a3eb6d7d Archetypes - Remote debug support for Java 11
From Java 9, the JDWP socket connector accept only local connections by default.
See: http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435

So, to enable debug connections from outside, we needd to specify 0.0.0.0:8888 as
address in the CATALINA_OPTS of the ACS and share containers. This solution is
valid for both Java 8 and Java 11.
2019-01-04 08:36:00 +01:00
Jose Luis Osorno 0b79b0a71d Archetypes - Compilation profiles
Add new profiles activated by the jdk version in order to compile
the source code for Java 8 or Java 11 depending on the target platform.

For ACS 6.0 it should be used JDK 8-10, for ACS 6.1 it should be used
JDK 11.
2018-12-27 16:59:01 +01:00
Jose Luis Osorno 3b25a7549c Archetypes - Update maven plugins version
Update the version of the archetype projects maven plugin to the latests
stable one in order to avoid any issue with Java 11.
2018-12-27 16:50:27 +01:00
Jose Luis Osorno 50c5c82f36 Archetypes - Add post archetype generate scripts
Add post archetype generate groovy scripts to add exec permission to the bash
runner script in the repo jar and share jar archetypes.
2018-12-27 07:34:57 +01:00
Jose Luis Osorno fff6bc4a41 Archetypes - Remove unnecessary dependency
Remove maven verifier dependency from the AIO archetype. It is only required
in the integration tests module.
2018-12-27 07:25:30 +01:00
Jose Luis Osorno c9a991698d Archetypes - Add purge in AIO IT
Add a purge step before executing the build_test goal in the AIO project
to avoid old data fails the tests.
2018-12-26 13:03:34 +01:00
Jose Luis Osorno 97f0ea6119 Archetypes - Integration tests verifier approach
New approach for the execution of the ITs for the archetypes. It uses the
maven verifier component to generate the project from the archetype and
afterwards execute the required goal/s and check the results.

This approach works properly in windows in contrast to the default archetypes
ITs mechanism, which failed executing the runner script.
2018-12-26 11:19:11 +01:00
Jose Luis Osorno 7bf16b467b Archetypes - Add test profiles
Add a couple of profiles for archetypes integration tests.
+ docker-toolbox -> Sets the java system property with the ACS endpoint.
+ enterprise-60-tests -> Sets the properties to use the 6.0 enterprise jars
and docker images in the integration tests.
2018-12-26 11:15:22 +01:00
Jose Luis Osorno 29c6a08066 Archetypes - Refactor AIO integration tests
Refactor the AIO project integration tests to take into account the system
property added to set the ACS endpoint in case it is required (docker toolbox).
2018-12-26 11:13:49 +01:00
Jose Luis Osorno 00839a8170 Archetypes - Remove unnecessary test files
Remove archetype test files not required with the new integration tests
approach we're following for the archetype tests.
2018-12-26 11:11:47 +01:00
Jose Luis Osorno 646899610d Test with maven verifier - WIP 2018-12-21 12:38:23 +01:00
Jose Luis Osorno 126d31646e Merge pull request #514 from Alfresco/sdk-4/documentation
Archetypes - Update README files
2018-12-20 16:13:52 +01:00
Jose Luis Osorno 4c2ac6db7d Archetypes - Update README files
Update the README files of the archetypes with the new approach of the
Alfresco SDK.
2018-12-20 15:39:54 +01:00
Jose Luis Osorno 6cd3e0c0c2 Merge pull request #513 from Alfresco/sdk-4/archetypes-docker
Archetypes - Fixes after testing
2018-12-20 14:57:21 +01:00
Jose Luis Osorno c6fbb76a39 Share archetype - Fix test task in script
Fix the test task in the scripts to remove the unrequired pl parameter.
2018-12-20 11:54:44 +01:00
Jose Luis Osorno 706a6c2ccd Share archetype - Fix module sub-directory name
Fix the name of the module sub-directory in the resources of the project.
2018-12-20 11:53:30 +01:00
Jose Luis Osorno c2f94e35bd Merge pull request #512 from Alfresco/sdk-4/archetypes-docker
Archetypes - Several improvements
2018-12-20 08:59:58 +01:00
Jose Luis Osorno 8dd1ba923a Archetypes - Change docker volume names
Modify the docker volume names to be dependant of the name of
the project. This way, we can avoid issues with docker volume
name clashes with other projects that were generated with the
SDK.
2018-12-20 08:55:15 +01:00
Jose Luis Osorno 0d158017e4 Archetypes - Fix integration tests
Fix the integration tests for the archetypes and update the version
to ACS 6. The integration tests must be enhanced to enable more checks
and not only the packaging of the created project without any test
execution.
2018-12-20 08:20:51 +01:00
Jose Luis Osorno 2c9fc00ea4 Archetypes - Properly align community versions
Change the share version to be properly aligned with the platform version.
2018-12-19 17:54:34 +01:00
Jose Luis Osorno 32a27e4f53 Archetypes - disable CSRF filter ACS
Disable the CSRF filter in ACS containers.
2018-12-19 17:38:59 +01:00
Jose Luis Osorno 0577fcc168 Merge pull request #511 from Alfresco/sdk-4/archetypes-docker
Archetypes - Switch to docker environment
2018-12-19 16:27:53 +01:00
Jose Luis Osorno c4dd6b01e6 Archetypes - Add properties to configure versions
Add properties to configure the versions of ACS and Share to be used
in the archetypes.
2018-12-19 16:06:27 +01:00
Jose Luis Osorno eae6c13de5 Share archetype - Switch to docker environment
Change the platform project to add the required configuration to execute it
as an orchestrated docker environment that includes ACS (optional), Share,
PostgreSQL and ASS. This will replace the use of the Alfresco Maven Plugin.

New bash scripts has been added to manage the docker environment.
A new docker-compose file configure the docker environment.
All the unnecessary files and configuration have been removed from the archetype.
2018-12-19 15:35:04 +01:00
Jose Luis Osorno 0ca57b20a1 Platform archetype - Make share container optional
Comment out the share container in the docker-compose file because
it is optional in this archetype.
2018-12-19 14:20:21 +01:00
Jose Luis Osorno 82cb58f472 Platform archetype - Switch to docker environment
Change the platform project to add the required configuration to execute it
as an orchestrated docker environment that includes ACS, Share (optional),
PostgreSQL and ASS. This will replace the use of the Alfresco Maven Plugin.

New bash scripts has been added to manage the docker environment.
A new docker-compose file configure the docker environment.
All the unnecessary files and configuration have been removed from the archetype.
2018-12-19 14:13:48 +01:00
Jose Luis Osorno 779d53a051 AIO archetype - Switch to docker environment
Change the AIO project to add the required configuration to execute it
as an orchestrated docker environment that includes ACS, Share, PostgreSQL
and ASS. This will replace the use of the Alfresco Maven Plugin.

New bash scripts has been added to manage the docker environment.
A new docker-compose file configure the docker environment.
New docker aggregator modules has been created for platform and share.
All the unnecessary files and configuration have been removed from the archetype.
2018-12-19 12:05:30 +01:00
Ole Hejlskov 5a35c948ca Merge pull request #510 from Alfresco/sdk-4/acs-endpoint-property
Look for custom java system property for alfresco location
2018-12-18 12:47:07 +01:00
Jose Luis Osorno 42a4805d93 Look for custom java system property for alfresco location
Modify the Alfresco RAD module to check for the java system property acs.endpoint.path
as an alternative for the default location of alfresco which is http://localhost:8080/alfresco.

This is useful to avoid connection refuse when starting ACS 6 as a container in a windows
machine with Docker Toolbox, which exposes the containers through a custom IP instead of
localhost.
2018-12-18 12:11:00 +01:00
Fabian 1f18d34e8e Merge pull request #3 from Alfresco/sdk-4.0
Syncing changes from upstream (Alfresco/sdk 4.0)
2018-11-16 09:21:22 +01:00
Ole Hejlskov 3873d2907e Added bom property 2018-11-15 11:30:28 +01:00
Ole Hejlskov 86049b91bf Merge pull request #508 from it-novum/sdk-4.0_version_Bump
Bumping version number to 4.0 for documentation + descriptions
2018-11-12 11:56:22 +01:00
Fabian 8ff7f929e2 Merge pull request #2 from it-novum/sdk-4.0_version_Bump
Bumping version number to 4.0 for documenation + descriptions
2018-11-12 11:50:22 +01:00
Fabian Fritz 1fb478e77a Bumping version number to 4.0 for documenation + descriptions 2018-11-12 11:48:15 +01:00
Ole Hejlskov f023ca2878 Merge pull request #507 from it-novum/sdk-4.0_version_Bump
Bump version to 4.0.0
2018-11-09 22:16:05 +01:00
Fabian a891119b84 Merge pull request #1 from it-novum/sdk-4.0_version_Bump
Bump version to 4.0.0
2018-11-09 15:51:32 +01:00
Fabian Fritz c84d0d4c87 Bump version to 4.0.0 2018-11-09 15:49:00 +01:00
Ole Hejlskov d268c20c3a More clean up, fix AIO 2018-10-05 16:20:56 +02:00
Ole Hejlskov 5291dc6e97 More clean up regarding Solr and H2/other databases 2018-10-05 15:46:15 +02:00
Ole Hejlskov 697ab7c3ec Clean up poms and make compatible with ACS6 2018-10-05 15:23:50 +02:00
Ole Hejlskov 52a6938a66 Remove Solr and custom databases (including H2) from the plugin. This now requires these services to be available externally 2018-10-05 15:21:13 +02:00
Ole Hejlskov 7edac56eed Remove DB specific properties 2018-10-05 12:13:49 +02:00
Ole Hejlskov fa828dede5 Remove Activiti experiments 2018-10-05 10:40:22 +02:00
Ole Hejlskov f5e3552283 Merge pull request #500 from fcorti/patch-1
Typo in description.
2018-09-18 13:11:05 +02:00
Ole Hejlskov ab9f384830 Merge pull request #505 from melahn/master
Updated the readme to bring it up-to-date.  See Issue #396
2018-09-18 13:10:42 +02:00
Gregory Melahn dced89eda6 Updated the readme to bring it up-to-date. See Issue #396 2018-09-13 16:16:19 -04:00
Francesco Corti 3bced985d6 Typo in description.
Suggested from the Community.
(thank you Digicat and Yreg)
2018-06-04 10:07:50 +02:00
a.hausherr f0210c173a Make the Solr indexation frequency customizable. 2018-04-06 15:21:05 +02:00
tartard ea521ba7ee Avoid an InstantiationException to be thrown from RunTestWebscript when testing a class which inherits test methods from an abstract class. 2018-03-12 14:20:08 +01:00
Ole Hejlskov 865ae6fd38 Merge pull request #484 from marsv024/runtest_saxparseexception
Fix null check to work with assertEqual-failures and exception messages containing reserved xml characters
2017-11-09 16:49:41 +01:00
Marcus Svartmark 017dfcbff8 Fix null check to work with assertEqual-failures and exception messages containing reserved xml characters 2017-11-09 16:32:35 +01:00
Ole Hejlskov c25417e702 Deprecate Activiti features. See #481 for more info 2017-09-22 16:40:51 +02:00
Ole Hejlskov 448b5c2929 Merge pull request #475 from tom-vandepoele/master
Feature request: adding support for custom solr config #474
2017-09-22 09:31:43 +01:00
Ole Hejlskov ab29cc53fa Merge pull request #477 from nklomp/master
Nullpointer in code crashes Freemarker evaluation within Integration Testing
2017-09-22 09:24:50 +01:00
nklomp 228a98c566 Message of Failure delegates to getMessage() of the throwable which can be null in some cases (Nullpointer for instance) causing the Freemarker template evaluation to fail which in turn hides the real problem in the integration test 2017-07-09 19:05:05 +02:00
Tom.Vandepoele 82b7886a51 Feature request: adding support for custom solr config #474 2017-06-29 15:15:54 +02:00
Ole Hejlskov 012dc70f43 Update with 3.0.1 release info 2017-06-23 11:29:07 +02:00
alfresco-build b8377041a5 [maven-release-plugin] prepare for next development iteration 2017-06-23 10:17:52 +01:00
alfresco-build 9071965850 [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.0.1 2017-06-23 10:17:47 +01:00
Ole Hejlskov 1e5db412f7 Tidy up fixes for #461 2017-06-22 12:13:28 +02:00
Ole Hejlskov 37c26cfaa8 Correctly configure the artifact id for alfresco-platform, reported in #461
This also raises questions around the use of <alfresco.platform.war.artifactId />
since this will never have any effect currently
2017-04-21 18:21:41 +02:00
Ole Hejlskov 1cd4b82037 Revert MMT dependency version 2017-04-21 17:36:06 +02:00
Ole Hejlskov 758ab83faf Merge pull request #459 from douglascrp/201702-GA_and_fixes
Solution for #458 and #454
2017-04-21 11:49:13 +02:00
Douglas C. R. Paes 8862d67acd Rolled back the api-explorer version as there is no 5.2.f version yet. 2017-04-20 16:41:49 -03:00
Douglas C. R. Paes e4402a741f plataform and share dependencies upgraded to match the latest GA release, which is 201702-GA 2017-04-20 16:04:44 -03:00
Douglas C. R. Paes b1facc65de gitignore 2017-04-20 16:03:12 -03:00
Ole Hejlskov 7668096829 Grab fix from #449 for 5.2.f support 2017-04-10 11:15:25 +02:00
Ole Hejlskov ce7c374c1e Remove beta-reference in name tag in archetype poms. Fixes #446 2017-04-05 16:30:03 +02:00
Ole Hejlskov 68dda3b211 Fix endpoint url to avoid "Share services" error and fix CMM. Fixes #445 2017-04-05 16:26:41 +02:00
alfresco-build 47a329a762 [maven-release-plugin] prepare for next development iteration 2017-03-30 11:12:25 +01:00
alfresco-build 3ae8d043aa [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.0.0 2017-03-30 11:12:20 +01:00
Ole Hejlskov ba36d1ad5e Update readme 2017-03-30 10:25:59 +01:00
Ole Hejlskov f54fb5e3d3 Update site, still work in progress 2017-03-27 13:28:44 +02:00
Ole Hejlskov 1a8d8b76b6 Properly separate enterprise tests, execute with correct share version 2017-03-27 11:27:09 +02:00
Ole Hejlskov 55ac6917b7 Merge branch 'master' into sdk-3.0 2017-03-27 09:58:49 +02:00
Ole Hejlskov 993d5dcefe Add archetype tests for 4.2, 5.0 and 5.1 2017-03-24 20:33:07 +01:00
Ole Hejlskov 0411bc5b1d Redo enterprise tests for the archetypes. When running "mvn clean install" only archetype tests for community edition.
Enabling the enterprise-tests profile will run all the tests
2017-03-24 16:49:13 +01:00
Ole Hejlskov 07bb743cfd Tidy up default pom 2017-03-24 15:09:59 +01:00
Ole Hejlskov ccb9f3d86f Merge branch 'sdk-3.0' of https://github.com/Alfresco/alfresco-sdk into sdk-3.0 2017-03-24 14:51:19 +01:00
Ole Hejlskov aebda9bf06 Move alfrescoEdition / maven.alfresco.edition up 2017-03-24 14:50:33 +01:00
Samuel Langlois b7dbbe8995 Downgrade alfresco-mmt dependency to 5.1.g, for plugin to work with JDK7 2017-03-23 17:17:55 +00:00
Samuel Langlois c9b33b4f59 #443 Upgrade Maven plugins and dependencies 2017-03-23 16:08:31 +00:00
Ole Hejlskov 93dde46f51 Deploy default webapp to / which enables an index.html (for AIO) to point to the services (#434) 2017-03-23 16:40:29 +01:00
Ole Hejlskov addbc750c4 Merge pull request #438 from jgoldhammer/sdk-3.0
fixes(spring): use xml schema instead of dtd
2017-03-23 16:23:15 +01:00
Ole Hejlskov e302055caf Merge branch 'sdk-3.0' into sdk-3.0 2017-03-23 16:23:05 +01:00
Ole Hejlskov 3b7e32df20 Initial fix for archetype tests 2017-03-23 16:08:35 +01:00
Ole Hejlskov 8178eac5b8 Remove debugging for cleaner test run 2017-03-23 11:54:33 +01:00
Ole Hejlskov b5ec7b415d Add default hotswap agent to platform jar archetype. Enable integration testing on the archetype as well 2017-03-23 10:55:58 +01:00
Ole Hejlskov 278ba7f600 Comment out AMP assembly by default 2017-03-22 22:35:02 +01:00
Ole Hejlskov fef948b982 Bring back resources plugin to archetype, otherwise test-resources get added too late 2017-03-22 21:27:17 +01:00
Ole Hejlskov 245a51402d Close the loop on 4.2 support and Solr 2017-03-22 21:07:17 +01:00
Ole Hejlskov 3630cced6d Remove references to buildonly 2017-03-20 16:29:02 +01:00
Ole Hejlskov 892920c114 Add hotswap-agent.properties for both platform and share jars 2017-03-20 15:23:52 +01:00
Ole Hejlskov 24500024ed Add integration-test module as a dependency for the platform war and include it to allow remote execution 2017-03-10 16:46:35 +01:00
Ole Hejlskov 85c7e11bb6 Make port configurable and dynamic 2017-03-09 16:44:22 +01:00
Martin Bergljung aede276f9b Made sure alfresco:run can be executed without interference from alfresco:it,#401 2017-02-28 08:14:27 +00:00
Martin Bergljung 264d326bf2 Removed assembly/lib dir and associated descriptor config, picked up from dependency config 2017-02-23 11:57:35 +00:00
Martin Bergljung d2868bdfae Added integration-tests subproject to AIO, #401 2017-02-23 09:53:13 +00:00
Martin Bergljung 673461b6e2 Fixed hard-coded bean ID in DemoComponentIT, #401 2017-02-17 16:07:25 +00:00
Martin Bergljung 6f1d01394d Initial check-in of Bindu's AlfrescoTestRunner frameowork plus sample tests, #401 2017-02-16 10:45:51 +00:00
Martin Bergljung f5404b9d40 Updated to latest GA 5.2 libs, #439 2017-02-01 12:48:14 +00:00
Jens Goldhammer e6394e25b7 fixes(spring): use xml schema instead of dtd
also increased xsd to spring version 3.0

fixes #429
2016-11-26 22:35:26 +01:00
Ole Hejlskov 0fd842192b Merge pull request #435 from Alfresco/github-issuetemplate
chore(github) : new github issue template
2016-11-23 20:38:41 +01:00
Jens Goldhammer be8e10a556 chore(github) : new issue template
This commit provides an issue template which will be used when users will report a bug or suggest a new feature.
This should help to provide better and quicker support for the reported issues of alfresco SDK.
2016-11-23 20:28:55 +01:00
Martin Bergljung 3031b401a2 Fix logging for Share extensions, #418 2016-10-10 13:31:51 +01:00
Martin Bergljung 723b309670 Added validation of existence of alfresco-global-*.properties files, #416 2016-10-10 10:10:48 +01:00
Martin Bergljung 051e967240 Merge branch 'sdk-3.0' of https://github.com/Alfresco/alfresco-sdk into sdk-3.0 2016-10-10 09:06:35 +01:00
Martin Bergljung 1f46a9e2ff Added the possibility to use custom context path for Share, #417 2016-10-10 09:06:19 +01:00
alfresco-build 3cbdb5dc8e [maven-release-plugin] prepare for next development iteration 2016-10-05 09:51:22 +01:00
alfresco-build 07543c68d3 [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.0.0-beta-5 2016-10-05 09:51:19 +01:00
Martin Bergljung a07219e6e6 Support for custom webapps and sysprops, #412,#413 2016-10-03 12:05:39 +01:00
Martin Bergljung 4e26291761 Merge branch 'sdk-3.0' of https://github.com/Alfresco/alfresco-sdk into sdk-3.0 2016-09-30 12:10:54 +01:00
Martin Bergljung c2ac314930 Initial check-in of Activiti JAR module, #410, #415 2016-09-30 12:10:35 +01:00
alfresco-build 08acf1f433 [maven-release-plugin] prepare for next development iteration 2016-09-23 10:02:48 +01:00
alfresco-build b9331c365f [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.0.0-beta-4 2016-09-23 10:02:44 +01:00
Ole Hejlskov 63bd9a63c0 Remove sources and javadoc plugin. This is already handled by the release plugin 2016-09-23 10:56:47 +02:00
alfresco-build f1dbb608d9 [maven-release-plugin] prepare for next development iteration 2016-09-23 09:40:38 +01:00
alfresco-build 657d16b91c [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.0.0-beta-4 2016-09-23 09:40:34 +01:00
alfresco-build 7739556c94 [maven-release-plugin] prepare for next development iteration 2016-09-23 09:14:01 +01:00
alfresco-build d7b0805cef [maven-release-plugin] prepare release alfresco-sdk-aggregator-3.0.0-beta-4 2016-09-23 09:13:57 +01:00
Martin Bergljung 0b8db99cd8 Added debug.* scripts 2016-09-19 14:45:25 +01:00
Martin Bergljung eba635c8f8 All logging controlled by src/test/resources/alfresco/extension/dev-log4j.properties, #392 2016-09-19 14:13:36 +01:00
Martin Bergljung 2782f30a42 Improved support for using different databases, #400 2016-09-16 17:53:08 +01:00
Samuel Langlois a32a537206 internal-release profile allows publishing release in our Nexus repo 2016-09-15 17:01:08 +01:00
Martin Bergljung 49160034cf Upgraded to Community release 201609 EA and added API Explorer app to AIO and Platform module, #402 2016-09-15 14:08:03 +01:00
Martin Bergljung 50dac567c2 Added filtering of web resources added to AMP, #409 2016-09-15 12:58:08 +01:00
Martin Bergljung 9a7630acfb Added excludes for resource filtering, so we don't filter for example FTL, #407 2016-09-15 11:33:37 +01:00
Martin Bergljung be11344137 Switched to props config for compiler plugin, #404 2016-09-14 10:14:19 +01:00
Martin Bergljung db9d7d637c Add compiler plugin and set Java 7, #404 2016-09-14 09:12:34 +01:00
Martin Bergljung 04fe0678d7 Support for MySQL, PostgreSQL, and custom Tomcat dependencies, #400 2016-09-12 16:57:02 +01:00
Martin Bergljung b46f173fb4 Added WAR artifact id property to platform jar project, #403 2016-09-12 14:09:05 +01:00
Martin Bergljung d69f7e4937 Added private/enterprise repo to POMs, #394 2016-09-12 11:31:23 +01:00
Martin Bergljung 788347a5dd Support for overriding out-of-the-box web resources and including 3rd party libs, #389 2016-09-07 11:28:40 +01:00
Martin Bergljung d6f11dd977 Added license directory placeholders 2016-09-06 09:50:39 +01:00
Martin Bergljung f0955cff98 Changed where Enterprise license should be located, #395 2016-09-06 09:19:34 +01:00
Martin Bergljung 05b2cfbb1e Fix so JAR project files are not duplicated in WAR, #391 2016-09-05 15:23:53 +01:00
alfresco-build 558d4b422c [maven-release-plugin] prepare for next development iteration 2016-09-05 14:35:29 +01:00
alfresco-build 3010c9773a [maven-release-plugin] prepare for next development iteration 2016-03-03 17:01:35 +00:00
alfresco-build b7fff632e7 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.2.0 2016-03-03 17:01:29 +00:00
Ole Hejlskov 5b3b5d3914 Bump version down to 2.2.0-SNAPSHOT 2016-03-03 17:04:19 +01:00
Martin Bergljung 9b5db76577 Fix for share-amp/run.bat 2016-03-03 15:59:52 +00:00
Ole Hejlskov 43ad42aac8 Merge pull request #367 from jphuynh/master
Logo image source link was dead. Fixed that to use the logo published…
2016-03-03 16:33:35 +01:00
Jean-Pierre Huynh 9c5f1e9e0d Logo image source link was dead. Fixed that to use the logo published on wiki.alfresco.com. 2016-03-03 14:23:12 +00:00
alfresco-build c46b0b86d2 [maven-release-plugin] prepare for next development iteration 2016-03-03 11:39:37 +00:00
alfresco-build 99031d5def [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.2.0 2016-03-03 11:39:32 +00:00
Ole Hejlskov 0bdacc4787 Realign ID's for authentication with Nexus 2016-03-03 11:53:40 +01:00
Ole Hejlskov b6e170a0ce Remove 5.1 EA repositories 2016-03-03 11:40:19 +01:00
Ole Hejlskov a37b121cb6 Add Alfresco REST API Explorer, see #366 for more details 2016-03-03 11:12:10 +01:00
Martin Bergljung c7591ca848 #364 2016-02-29 16:35:43 +00:00
Martin Bergljung 54a067325a #356 - minor fix in run.bat 2016-02-29 15:32:31 +00:00
Martin Bergljung ceed7af6fe #356 2016-02-29 15:14:15 +00:00
Martin Bergljung 377aaa5459 #355 2016-02-29 11:27:04 +00:00
Martin Bergljung b226302572 Merge pull request #331 from Alfresco/slanglois-issue-298
#298 Define argLine as a property, not in surefire
2016-02-29 09:18:08 +00:00
Martin Bergljung 876f6286fc Bring branch up to date 2016-02-29 09:16:50 +00:00
Martin Bergljung 5d59d6cd27 Added back Spring Loaded when running Share AMP 2016-02-29 08:58:22 +00:00
Martin Bergljung 6d4b901129 Merge pull request #359 from loftuxab/utf8-url-fix
The current configuration doesn't encode url:s tomcat7-maven-plugin.
2016-02-29 08:23:47 +00:00
Peter Löfgren 0854929d99 The current configuration doesn't encode url:s properly and this breaks any pages/webscripts that uses parameters that contains non us-ascii characters. Adding the uriEncoding solves this. 2016-02-19 12:39:22 +01:00
alfresco-build 8415da72b0 [maven-release-plugin] prepare for next development iteration 2016-02-04 10:41:55 +00:00
alfresco-build 14cd4be39c [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.2.0-beta-1 2016-02-04 10:41:50 +00:00
Ole Hejlskov f2f5698a3b Remove double activation tag from pull request #352 2016-02-04 11:00:46 +01:00
Ole Hejlskov 5b83b99549 Merge pull request #352 from michaeljmuller/master
change activation of enforce-sdk-rules so it's *really* on by default, as intended
2016-02-04 10:54:24 +01:00
Ole Hejlskov 181951ed99 Add MAVEN_OPTS that are compatible with JDK7 but comment out by default. See DEVPLAT-456 for more info 2016-02-04 10:50:21 +01:00
Ole Hejlskov a4711142e6 Merge pull request #354 from michaeljmuller/chmod
make run.sh executable during the "validation" phase of the build
2016-02-04 10:39:06 +01:00
Michael Muller 78d1466220 make run.sh executable during the "validation" phase of the build 2016-02-03 12:00:13 -07:00
Michael Muller d99539c9b0 change activation of enforce-sdk-rules so it's *really* on by default, as intended 2016-02-03 11:37:34 -07:00
Ole Hejlskov 30bfc14422 Fix escaping 2016-01-29 10:57:27 +01:00
Martin Bergljung 641aa6bb8e DEVPLAT-440 2016-01-25 14:37:57 +00:00
Ole Hejlskov f031c76a41 Add JS to the nonFilteredFileExtension list. See #254 for more info 2016-01-22 16:12:30 +01:00
Ole Hejlskov 2ad03e3f5c Bump version to 2.2.0-SNAPSHOT 2016-01-22 16:05:37 +01:00
Martin Bergljung 7275ba32e8 DEVPLAT-452 2016-01-22 08:26:23 +00:00
Samuel Langlois 9bf50267dd Housekeeping: upgrading versions of dependencies and Maven plugins 2016-01-21 12:22:51 +00:00
Martin Bergljung bbe3de2abb DEVPLAT-444 2016-01-21 11:26:15 +00:00
Samuel Langlois 5c01e8127c Change <id> of temporary Maven Repo hosting 5.1-EA, to fix CI 2016-01-21 11:20:35 +00:00
Martin Bergljung 9a1b97e64d DEVPLAT-442 2016-01-21 10:34:36 +00:00
Martin Bergljung b3955a1b4f DEVPLAT-443 2016-01-20 10:41:06 +00:00
Martin Bergljung 2e546a1cae DEVPLAT-445 2016-01-20 10:18:04 +00:00
Martin Bergljung 9dd9f530bb DEVPLAT-333, DEVPLAT-435, DEVPLAT-436, DEVPLAT-437, DEVPLAT-438, DEVPLAT-439, DEVPLAT-447 2016-01-12 15:14:53 +00:00
Samuel Langlois 3e7a6d83a9 #298 Define argLine as a property, not in surefire
Allows other plugins (such as JaCoCo) to tune the argLine parameters of the JVM forked by surefire
2015-09-16 17:03:40 +01:00
275 changed files with 14208 additions and 4842 deletions
+57
View File
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>activiti-private-repository</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>alfresco-public-snapshots</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>alfresco-public</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>alfresco-plugin-public</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>alfresco-plugin-public-snapshots</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>alfresco-internal-snapshots</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>alfresco-internal</id>
<username>${env.MAVEN_USERNAME}</username>
<password>${env.MAVEN_PASSWORD}</password>
</server>
<server>
<id>central-releases-staging</id>
<username>${env.MAVEN_CENTRAL_USERNAME}</username>
<password>${env.MAVEN_CENTRAL_PASSWORD}</password>
</server>
</servers>
</settings>
+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"
+1
View File
@@ -12,3 +12,4 @@ pom.xml.next
release.properties
**.settings
**bin
*.DS_Store
+10
View File
@@ -0,0 +1,10 @@
default_language_version:
# force all unspecified python hooks to run python3
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: check-yaml
args: [--allow-multiple-documents]
+67
View File
@@ -0,0 +1,67 @@
<!--
If you are reporting a new issue, make sure that we do not have any duplicates
already open. You can ensure this by searching the issue list for this
repository. If there is a duplicate, please close your issue and add a comment
to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to
include the BUG REPORT INFORMATION shown below. If you fail to provide this
information within 7 days, we cannot debug your issue and will close it. We
will, however, reopen it if you later provide the information.
---------------------------------------------------
GENERAL SUPPORT INFORMATION
---------------------------------------------------
The GitHub issue tracker is for bug reports and feature requests.
General support can be found at the following locations:
- Alfresco Community - https://community.alfresco.com/community/ecm
- Post a question on StackOverflow, using the Alfresco tag
-->
## I'm submitting a ... (check one with "x")
```
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
```
<!--- Provide a general summary of the issue in the Title above -->
## Expected Behavior
<!--- If you're describing a bug, tell us what should happen -->
<!--- If you're suggesting a change/improvement, tell us how it should work -->
## Current Behavior
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
## Possible Solution
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
<!--- or ideas how to implement the addition or change -->
## Steps to Reproduce (for bugs)
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
5.
## Context
<!--- How has this issue affected you? What are you trying to accomplish? -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Your Environment
<!--- Include as many relevant details about the environment you experienced the bug in -->
* Alfresco SDK version used: <!-- 2.1 / 2.2 / 3.0betaX-->
* Alfresco version used: <!-- Enterprise 5.1, Community 5.0.f or ...-->
* Output of command 'mvn -version': <!-- Maven/JDK version-->
* Link to your project: <!-- optional for having a minimal example-->
## Additional information
<!-- include screenshots or any other hint you mave have for us -->
+143 -28
View File
@@ -1,57 +1,155 @@
# [![Alfresco SDK logo](https://github.com/Alfresco/alfresco-sdk/raw/master/src/site/resources/img/alfresco-maven-logo.jpg)](#features) Alfresco SDK
This is the home of the Alfresco SDK. The Alfresco SDK is used by developers to build extensions for the Alfresco content management system. It is based on [Apache Maven](http://maven.apache.org/), compatible with major IDEs and enables Rapid Application Development (RAD) and Test Driven Development (TDD).
[![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)
This is the home of the Alfresco SDK. The Alfresco SDK is used by developers to build extensions for the Alfresco Digital Business Platform. It is based on
[Apache Maven](http://maven.apache.org/), compatible with major IDEs and enables [Rapid Application Development (RAD)](https://en.wikipedia.org/wiki/Rapid_application_development)
and [Test Driven Development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development).
## License
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) license.
If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
## News
- 2015-10-19: SDK 2.1.1 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
- 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
- 2019-10: Alfresco SDK 4.1.0 released
- 2019-03: Alfresco SDK 4.0.0 released
- 2019-03: Alfresco SDK 3.1.0 released
- 2017-06-23: Alfresco SDK 3.0.1 released, [containing a critical bugfix](https://github.com/Alfresco/alfresco-sdk/issues/461)
- 2017-04-01: Alfresco SDK 3.0.0 released
- 2017-03-27: After years of hard work, countless iterations and gathering feedback, SDK 3.0 has finally been merged into the master branch, ready for release in the coming days
- 2016-02-20: SDK 2.2.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
- 2015-10-19: SDK 2.1.1 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
- 2014-08-22: First SNAPSHOT of SDK 2.0.0 in the [OSS Sonatype Repository](https://oss.sonatype.org/content/repositories/snapshots/org/alfresco/maven/alfresco-sdk-parent/2.0.0-SNAPSHOT/)!
- 2014-07: Project fully migrated from [Google Code](https://code.google.com/p/maven-alfresco-archetypes).
## User Getting Started
### Important Notice about ACS 7.2
Please refer to https://github.com/Alfresco/alfresco-sdk/issues/635 to fix the Search Services 403 problem.
### Important Notice about ACS 7.1
#### Share Version Number
Since ACS 7.1, Share build pipeline has been refactored, and you now have to specify the internal
Share version number, in addition to the version of the image, because they are not the same anymore.
This number can be located in the main pom.xml of the project used to build Share, hence:
- property `<alfresco-community-share.version>` of [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging/blob/7.1.0/pom.xml#L17) (Community)
- property `<alfresco-enterprise-share.version>`of [acs-packaging](https://github.com/Alfresco/acs-packaging/blob/7.1.0.1/pom.xml#L18) (Enterprise)
So, if for example you want to use the community version of `7.1.0.1`, you can go on acs-community-packaging,
open the `7.1.0.1` release tag, browse its files, open the pom.xml in the root,
then copy the value of `<alfresco-community-share.version>`.
You'll then need to paste this value inside the SDK property `<alfresco.share.version>`.
#### Alternate Docker User
- ACS 6 used to run everything as `root`.
- ACS 7 introduced an `alfresco` user, that should've been used after the `root` user completed its configurations in the Dockerfile.
Due to a bug, this wasn't working in earlier SDKs, and has been fixed in SDK 4.3.
In order to be retro-compatible with ACS 6, however, the user is specified in the SDK property `<alfresco.platform.docker.user>`.
Hence, its values (already in place) are `root` for ACS 6, and `alfresco` for ACS 7+.
#### Log file location
To prevent writing permission problems when logging with the non-root user,
the `alfresco.log` file has also been moved to a more appropriate location (Tomcat logs instead of Tomcat root).
### Important Notice about Version Numbers
In Q4 2020, Alfresco Platform has undergone a major structural refactoring.
Depending on the Platform version desired, you might need to use SDK 4.1, 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 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:
- Community Platform versions are built by [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging)
- Community Docker images are published on [Docker Hub](https://hub.docker.com/r/alfresco/alfresco-content-repository-community/tags?page=1&ordering=last_updated)
- Enterprise Platform versions are built by [acs-packaging](https://github.com/Alfresco/acs-packaging)
- Enterprise Docker images are published on *Quay.io*
### Latest Documentation
To get started with Alfresco SDK 2.1.1 (latest) visit the offical Alfresco Documentation for:
To get started with **Alfresco SDK 4.14.x** (latest) visit the [Alfresco Documentation](docs/README.md).
- [Alfresco Community 5.0.d and above](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
- [Alfresco Enterprise 5.0.1 and above](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
#### Previous versions Documentation
- Documentation for [Alfresco SDK 2.0](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html) (compatible with Alfresco 5.0.d Community and 5.0.0 Enterprise)
- Documentation for [Alfresco SDK 1.1.1](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html) (compatible with Alfresco 4.2)
### Samples
Sample extension projects that use the SDK, maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
### Command reference
A list of supported features and commands, explanation of Maven profiles and commands is kept in the [Alfresco Official Docs](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-cmd-reference.html).
### Want to get up to speed quickly in Eclipse? Check out this video!
[![Alfresco SDK 2.1 howto](http://img.youtube.com/vi/utYZaVe9Nd0/0.jpg)](https://www.youtube.com/watch?v=utYZaVe9Nd0)
#### Documentation about Previous Versions
| 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). You can also join the [Alfresco list on Google Groups](https://groups.google.com/forum/#!forum/maven-alfresco) or join us on the [IRC Channel](http://chat.alfresco.com/).
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).
## Alfresco Enterprise Customers and Partners Support
If you are an Alfresco Customer please check the [SDK Support status](http://www.alfresco.com/services/subscription/technical-support/product-support-status) for the version you are using and the [Compatibily Matrix](http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html) for the SDK / Alfresco compatibility. If your version is in Limited or Full Support, you can raise issues via the [Support Portal](http://support.alfresco.com).
If you are an Alfresco Customer
please check the [SDK Support status](http://www.alfresco.com/services/subscription/technical-support/product-support-status)
for the version you are using. If your version is in Limited or Full Support and you need help, visit the [Support Portal](http://support.alfresco.com).
## Maven repositories
- As of version 2.0-beta-1, The Alfresco SDK is released in [Maven Central](http://search.maven.org/#search|ga|1|alfresco-sdk). Previous versions are available in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
- As of version 2.0-beta-1, The Alfresco SDK is released in [Maven Central](http://search.maven.org/#search|ga|1|alfresco-sdk). Previous versions are available
in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
- Alfresco (Community and Enterprise) artifacts are hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
- Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
*NOTE:* For Enterprise and Premiere licensed software access you need to get credential via the Alfresco Enterprise Support. See [Maven Alfresco Enterprise setup](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-using-enterprise-edition.html).
*NOTE:* By default the Alfresco SDK will use Community Edition releases but it can be configured to use Enterprise Edition releases. Enterprise and Premier
customers can use the SDK with Enterprise Edition releases by following the process described in [Working with Enterprise](docs/advanced-topics/working-with-enterprise/README.md).
### Alfresco Artifacts Repository
#### Alfresco Releases
You can use the following snippet in your pom.xml to access releases on Alfresco Artifact repository:
You can use the following snippet in your pom.xml to access releases from the Alfresco Artifact repository:
```xml
<repository>
@@ -70,6 +168,23 @@ To test new unreleased (unsupported) features, you can use the following snippet
</repository>
```
## Docker registries
- Alfresco Community Docker images are publicly available at the [Alfresco's Docker Hub profile](https://hub.docker.com/u/alfresco/).
- Alfresco Enterprise Docker images are hosted at [Quay.io](https://quay.io/). Its configuration process is described in detail in [How to configure private Alfresco Docker registry](docs/advanced-topics/working-with-enterprise/enterprise-docker-registry.md).
## 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
+1
View File
@@ -0,0 +1 @@
*.DS_Store
@@ -5,16 +5,16 @@
<groupId>org.alfresco.maven.archetype</groupId>
<artifactId>alfresco-allinone-archetype</artifactId>
<packaging>maven-archetype</packaging>
<name>Maven Alfresco SDK - All-in-One Archetype</name>
<description>Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository WAR overlay, Repository AMP, Share WAR overlay, Solr configuration, and embedded Tomcat runner</description>
<name>Alfresco SDK - All-in-One Archetype</name>
<description>Sample multi-module project for All-in-One development on the Alfresco platform. Includes modules for Platform/Repository JAR and Share JAR</description>
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>3.0.0-beta-3</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<build>
<resources>
<resource>
@@ -23,7 +23,6 @@
<include>archetype-resources/pom.xml</include>
<include>archetype-resources/run.sh</include>
<include>archetype-resources/run.bat</include>
<include>archetype-resources/runner/src/main/webapp/index.html</include>
<include>META-INF/maven/archetype-metadata.xml</include>
</includes>
<filtering>true</filtering>
@@ -34,7 +33,6 @@
<exclude>archetype-resources/pom.xml</exclude>
<exclude>archetype-resources/run.sh</exclude>
<exclude>archetype-resources/run.bat</exclude>
<exclude>archetype-resources/runner/src/main/webapp/index.html</exclude>
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
</excludes>
<filtering>false</filtering>
@@ -43,13 +41,14 @@
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@@</delimiter>
</delimiters>
<addDefaultExcludes>false</addDefaultExcludes>
</configuration>
</plugin>
</plugins>
@@ -0,0 +1,2 @@
def file = new File( request.getOutputDirectory(), request.getArtifactId()+"/run.sh" );
file.setExecutable(true, false);
@@ -10,14 +10,14 @@
</requiredProperty>
</requiredProperties>
<modules>
<module id="${rootArtifactId}-platform-jar"
name="${rootArtifactId}-platform-jar"
dir="__rootArtifactId__-platform-jar">
<module id="${rootArtifactId}-platform"
name="${rootArtifactId}-platform"
dir="__rootArtifactId__-platform">
<fileSets>
<fileSet filtered="false" packaged="false" encoding="UTF-8">
<directory>src/main/assembly</directory>
<includes>
<include>**/*.xml</include>
<include>**</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
@@ -39,35 +39,27 @@
</includes>
<excludes>
<exclude>**/*-context.xml</exclude>
<exclude>**/log4j.properties</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true" packaged="false">
<directory>src/main/resources</directory>
<includes>
<include>**/*-context.xml</include>
<include>**/log4j.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="${rootArtifactId}-share-jar"
name="${rootArtifactId}-share-jar"
dir="__rootArtifactId__-share-jar" >
<module id="${rootArtifactId}-share"
name="${rootArtifactId}-share"
dir="__rootArtifactId__-share">
<fileSets>
<fileSet filtered="false" packaged="false" encoding="UTF-8">
<directory>src/main/assembly</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
@@ -102,27 +94,96 @@
<exclude>**/__artifactId__-example-widgets.xml</exclude>
</excludes>
</fileSet>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>src/test/resources</directory>
</fileSets>
</module>
<module id="${rootArtifactId}-integration-tests"
name="${rootArtifactId}-integration-tests"
dir="__rootArtifactId__-integration-tests">
<fileSets>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
<include>**</include>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<directory>src/test/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="${rootArtifactId}-platform-docker"
name="${rootArtifactId}-platform-docker"
dir="__rootArtifactId__-platform-docker">
<fileSets>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/docker</directory>
<includes>
<include>license/**</include>
<include>Dockerfile</include>
<include>disable-webscript-caching-context.xml</include>
</includes>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true">
<directory>src/main/docker</directory>
<includes>
<include>**/*.properties</include>
</includes>
<excludes>
<exclude>license/**</exclude>
<exclude>Dockerfile</exclude>
<exclude>disable-webscript-caching-context.xml</exclude>
</excludes>
</fileSet>
</fileSets>
</module>
<module id="${rootArtifactId}-share-docker"
name="${rootArtifactId}-share-docker"
dir="__rootArtifactId__-share-docker">
<fileSets>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/docker</directory>
<includes>
<include>Dockerfile</include>
<include>share-config-custom.xml</include>
</includes>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true">
<directory>src/main/docker</directory>
<includes>
<include>**/*.properties</include>
</includes>
<excludes>
<exclude>Dockerfile</exclude>
<exclude>share-config-custom.xml</exclude>
</excludes>
</fileSet>
</fileSets>
</module>
</modules>
<fileSets>
<fileSet encoding="UTF-8">
<directory>src</directory>
<fileSet encoding="UTF-8" filtered="true">
<directory>docker</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<fileSet encoding="UTF-8" filtered="true">
<directory></directory>
<includes>
<include>.gitignore</include>
<include>run.sh</include>
<include>run.bat</include>
<include>README.md</include>
@@ -0,0 +1,38 @@
**.log*
# Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
# Eclipse
.metadata
.project
.classpath
bin/
tmp/
*.tmp
.settings/
.loadpath
.recommenders
# IntelliJ IDEA
**.idea
**.iml
# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# macOS
*.DS_Store
@@ -1,34 +1,46 @@
# Alfresco AIO Project - SDK 3
# Alfresco AIO Project - SDK 4.11.0
This is an All-In-One (AIO) project for Alfresco SDK 3.0.
This is an All-In-One (AIO) project for Alfresco SDK 4.11.0.
Run with `mvn clean install -DskipTests=true alfresco:run` or `./run.sh` and verify that it
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
* Runs the embedded Tomcat + H2 DB
* Runs Alfresco Platform (Repository)
* Runs Alfresco Solr4
* Runs Alfresco Content Service (ACS)
* Runs Alfresco Share
* Packages both as JAR and AMP assembly for modules
* Runs Alfresco Search Service (ASS)
* Runs PostgreSQL database
* Deploys the JAR assembled modules
All the services of the project are now run as docker containers. The run script offers the next tasks:
* `build_start`. Build the whole project, recreate the ACS and Share docker images, start the dockerised environment composed by ACS, Share, ASS and
PostgreSQL and tail the logs of all the containers.
* `build_start_it_supported`. Build the whole project including dependencies required for IT execution, recreate the ACS and Share docker images, start the
dockerised environment composed by ACS, Share, ASS and PostgreSQL and tail the logs of all the containers.
* `start`. Start the dockerised environment without building the project and tail the logs of all the containers.
* `stop`. Stop the dockerised environment.
* `purge`. Stop the dockerised container and delete all the persistent data (docker volumes).
* `tail`. Tail the logs of all the containers.
* `reload_share`. Build the Share module, recreate the Share docker image and restart the Share container.
* `reload_acs`. Build the ACS module, recreate the ACS docker image and restart the ACS container.
* `build_test`. Build the whole project, recreate the ACS and Share docker images, start the dockerised environment, execute the integration tests from the
`integration-tests` module and stop the environment.
* `test`. Execute the integration tests (the environment must be already started).
# Few things to notice
* No parent pom
* No WAR projects, all handled by the Alfresco Maven Plugin
* No runner project - it's all in the Alfresco Maven Plugin
* No WAR projects, the jars are included in the custom docker images
* No runner project - the Alfresco environment is now managed through [Docker](https://www.docker.com/)
* Standard JAR packaging and layout
* Works seamlessly with Eclipse and IntelliJ IDEA
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml, agent usage: `MAVEN_OPTS=-Xms256m -Xmx1G -agentpath:/home/martin/apps/jrebel/lib/libjrebel64.so`
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml [JRebel integration documentation]
* AMP as an assembly
* [Configurable Run mojo](https://github.com/Alfresco/alfresco-sdk/blob/sdk-3.0/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/RunMojo.java) in the `alfresco-maven-plugin`
* No unit testing/functional tests just yet
* Persistent test data through restart thanks to the use of Docker volumes for ACS, ASS and database data
* Integration tests module to execute tests against the final environment (dockerised)
* Resources loaded from META-INF
* Web Fragment (this includes a sample servlet configured via web fragment)
# TODO
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
* Purge
* Functional/remote unit tests
* Functional/remote unit tests
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<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.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) -->
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<properties>
</properties>
<dependencies>
<!-- Bring in any custom module that should be tested, by default we bring in the Platform JAR module
that is generated for the AIO project -->
<dependency>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}-platform</artifactId>
<version>${version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<configuration>
<rebelXmlDirectory>${project.build.testOutputDirectory}</rebelXmlDirectory>
</configuration>
</plugin>
<!-- Make sure we attach the tests so we can include them when running -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Runs the integration tests, any class that follows naming convention
"**/IT*.java", "**/*IT.java", and "**/*ITCase.java" will be considered an integration test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,191 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
import org.alfresco.model.ContentModel;
import org.alfresco.rad.test.AbstractAlfrescoIT;
import org.alfresco.rad.test.AlfrescoTestRunner;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.repo.nodelocator.CompanyHomeNodeLocator;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.apache.commons.io.IOUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
/**
* Integration Test sample for a custom content model.
* See {@link DemoComponentIT} for more info.
*
* @author martin.bergljung@alfresco.com
* @since 3.0
*/
@RunWith(value = AlfrescoTestRunner.class)
public class CustomContentModelIT extends AbstractAlfrescoIT {
private static final String ACME_MODEL_NS = "{http://www.acme.org/model/content/1.0}";
private static final String ACME_MODEL_LOCALNAME = "contentModel";
private static final String ACME_DOCUMENT_TYPE = "document";
private static final String ACME_SECURITY_CLASSIFIED_ASPECT = "securityClassified";
private static final String ACME_DOCUMENT_ID_PROPNAME = "documentId";
@Test
public void testCustomContentModelPresence() {
Collection<QName> allContentModels = getServiceRegistry().getDictionaryService().getAllModels();
QName customContentModelQName = createQName(ACME_MODEL_LOCALNAME);
assertTrue("Custom content model " + customContentModelQName.toString() +
" is not present", allContentModels.contains(customContentModelQName));
}
@Test
public void testCreateAcmeDocument() {
// Create the ACME Doc file
QName type = createQName(ACME_DOCUMENT_TYPE);
String textContent = "Hello World!";
String documentId = "DOC001";
Map<QName, Serializable> nodeProperties = new HashMap<>();
nodeProperties.put(createQName(ACME_DOCUMENT_ID_PROPNAME), documentId);
nodeProperties.put(createQName("securityClassification"), "Company Confidential");
NodeRef nodeRef = createNode("AcmeFile.txt", type, nodeProperties);
addFileContent(nodeRef, textContent);
// Add an Aspect to the file (could be a custom aspect...)
Map<QName, Serializable> aspectProperties = new HashMap<>();
aspectProperties.put(ContentModel.PROP_TITLE, "Some Doc Title");
aspectProperties.put(ContentModel.PROP_DESCRIPTION, "Some Doc Description");
getServiceRegistry().getNodeService().addAspect(nodeRef, ContentModel.ASPECT_TITLED, aspectProperties);
// Assert that the file is created correctly
assertEquals("Invalid type", type, getServiceRegistry().getNodeService().getType(nodeRef));
assertTrue("Missing security aspect",
getServiceRegistry().getNodeService().hasAspect(nodeRef, createQName(ACME_SECURITY_CLASSIFIED_ASPECT)));
assertTrue("Missing titled aspect",
getServiceRegistry().getNodeService().hasAspect(nodeRef, ContentModel.ASPECT_TITLED));
assertEquals("Invalid property value", documentId,
getServiceRegistry().getNodeService().getProperty(nodeRef, createQName(ACME_DOCUMENT_ID_PROPNAME)));
readTextContent(nodeRef).equals(textContent);
// Clean up node
if (nodeRef != null) {
getServiceRegistry().getNodeService().deleteNode(nodeRef);
}
}
/**
* ==================== Helper Methods ============================================================================
*/
/**
* Create a QName for the ACME content model
*
* @param localname the local content model name without namespace specified
* @return the full ACME QName including namespace
*/
private QName createQName(String localname) {
return QName.createQName(ACME_MODEL_NS + localname);
}
/**
* Create a new node, such as a file or a folder, with passed in type and properties
*
* @param name the name of the file or folder
* @param type the content model type
* @param properties the properties from the content model
* @return the Node Reference for the newly created node
*/
private NodeRef createNode(String name, QName type, Map<QName, Serializable> properties) {
NodeRef parentFolderNodeRef = getCompanyHomeNodeRef();
QName associationType = ContentModel.ASSOC_CONTAINS;
QName associationQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI,
QName.createValidLocalName(name));
properties.put(ContentModel.PROP_NAME, name);
ChildAssociationRef parentChildAssocRef = getServiceRegistry().getNodeService().createNode(
parentFolderNodeRef, associationType, associationQName, type, properties);
return parentChildAssocRef.getChildRef();
}
/**
* Add some text content to a file node
*
* @param nodeRef the node reference for the file that should have some text content added to it
* @param fileContent the text content
*/
private void addFileContent(NodeRef nodeRef, String fileContent) {
boolean updateContentPropertyAutomatically = true;
ContentWriter writer = getServiceRegistry().getContentService().getWriter(nodeRef, ContentModel.PROP_CONTENT,
updateContentPropertyAutomatically);
writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
writer.setEncoding("UTF-8");
writer.putContent(fileContent);
}
/**
* Read text content for passed in file Node Reference
*
* @param nodeRef the node reference for a file containing text
* @return the text content
*/
private String readTextContent(NodeRef nodeRef) {
ContentReader reader = getServiceRegistry().getContentService().getReader(nodeRef, ContentModel.PROP_CONTENT);
if (reader == null) {
return ""; // Maybe it was a folder after all
}
InputStream is = reader.getContentInputStream();
try {
return IOUtils.toString(is, "UTF-8");
} catch (IOException ioe) {
throw new RuntimeException(ioe);
} finally {
if (is != null) {
try {
is.close();
} catch (Throwable e) {
e.printStackTrace();
}
}
}
}
/**
* Get the node reference for the /Company Home top folder in Alfresco.
* Use the standard node locator service.
*
* @return the node reference for /Company Home
*/
private NodeRef getCompanyHomeNodeRef() {
return getServiceRegistry().getNodeLocatorService().getNode(CompanyHomeNodeLocator.NAME, null, null);
}
}
@@ -0,0 +1,67 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
import org.alfresco.rad.test.AbstractAlfrescoIT;
import org.alfresco.rad.test.AlfrescoTestRunner;
import org.alfresco.rad.test.Remote;
import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.NodeRef;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
* Integration Test of the DemoComponent using the Alfresco Test Runner.
* The Alfresco Test Runner (i.e. AlfrescoTestRunner.class) will check if it is running in an Alfresco instance,
* if so it will execute normally locally. On the other hand, if it detects no
* Alfresco Spring context, then it will make a call to a custom Web Script that
* will execute this test in the running container remotely. The remote location is
* determined by the @Remote config.
*
* @author martin.bergljung@alfresco.com
* @since 3.0
*/
@RunWith(value = AlfrescoTestRunner.class)
public class DemoComponentIT extends AbstractAlfrescoIT {
@Test
public void testGetCompanyHome() {
DemoComponent demoComponent = (DemoComponent) getApplicationContext().getBean("${package}.DemoComponent");
NodeRef companyHome = demoComponent.getCompanyHome();
assertNotNull(companyHome);
String companyHomePath = getServiceRegistry().getNodeService().getPath(companyHome).toPrefixString(getServiceRegistry().getNamespaceService());
assertNotNull(companyHomePath);
assertEquals("/app:company_home", companyHomePath);
}
@Test
public void testChildNodesCount() {
DemoComponent demoComponent = (DemoComponent) getApplicationContext().getBean("${package}.DemoComponent");
NodeRef companyHome = demoComponent.getCompanyHome();
int childNodeCount = demoComponent.childNodesCount(companyHome);
assertNotNull(childNodeCount);
// There are 7 folders by default under Company Home
assertEquals(7, childNodeCount);
}
}
@@ -0,0 +1,85 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
* Integration Test (IT) for Hello World web script.
*
* @author martin.bergljung@alfresco.com
* @version 1.0
* @since 3.0
*/
public class HelloWorldWebScriptIT {
private static final String ACS_ENDPOINT_PROP = "acs.endpoint.path";
private static final String ACS_DEFAULT_ENDPOINT = "http://localhost:8080/alfresco";
@Test
public void testWebScriptCall() throws Exception {
String webscriptURL = getPlatformEndpoint() + "/service/sample/helloworld";
String expectedResponse = "Message: 'Hello from JS!' 'HelloFromJava'";
// Login credentials for Alfresco Repo
CredentialsProvider provider = new BasicCredentialsProvider();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("admin", "admin");
provider.setCredentials(AuthScope.ANY, credentials);
// Create HTTP Client with credentials
CloseableHttpClient httpclient = HttpClientBuilder.create()
.setDefaultCredentialsProvider(provider)
.build();
// Execute Web Script call
try {
HttpGet httpget = new HttpGet(webscriptURL);
HttpResponse httpResponse = httpclient.execute(httpget);
assertEquals("Incorrect HTTP Response Status",
HttpStatus.SC_OK, httpResponse.getStatusLine().getStatusCode());
HttpEntity entity = httpResponse.getEntity();
assertNotNull("Response from Web Script is null", entity);
assertEquals("Incorrect Web Script Response", expectedResponse, EntityUtils.toString(entity));
} finally {
httpclient.close();
}
}
private String getPlatformEndpoint() {
final String platformEndpoint = System.getProperty(ACS_ENDPOINT_PROP);
return StringUtils.isNotBlank(platformEndpoint) ? platformEndpoint : ACS_DEFAULT_ENDPOINT;
}
}
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>${artifactId}</artifactId>
<name>Alfresco Platform/Repository Docker Module</name>
<description>Platform/Repo Docker Module to generate the final Docker image</description>
<packaging>jar</packaging>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<properties>
</properties>
<dependencies>
<dependency>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}-platform</artifactId>
<version>${version}</version>
</dependency>
<dependency>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}-integration-tests</artifactId>
<version>${version}</version>
<scope>test</scope>
<classifier>tests</classifier>
</dependency>
<!-- Add any additional AMPs or extension JARs here that you want to be deployed in Alfresco -->
<!-- IMPORTANT:
If using amp extensions only, add <includeTypes>amp</includeTypes> to the "collect-extensions" execution below.
If using both amp and jar extensions, you have to add:
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
to each amp dependency definition.
-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Copy the repository extension and the dependencies required for execute integration tests -->
<execution>
<id>collect-test-artifacts</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<excludeScope>compile</excludeScope>
</configuration>
</execution>
<!-- Collect extensions (JARs or AMPs) declared in this module do be deployed to docker -->
<execution>
<id>collect-extensions</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<includeScope>runtime</includeScope>
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
</configuration>
</execution>
</executions>
</plugin>
<!-- Filter the Dockerfile and the other files added to the container to be able to replace maven properties -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-and-filter-docker-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.jar</exclude>
<exclude>**/*.so</exclude>
<exclude>**/*.gz</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-and-filter-docker-resources-non-filtered</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>false</filtering>
<includes>
<include>**/*.jar</include>
<include>**/*.so</include>
<include>**/*.gz</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,29 @@
FROM ${docker.acs.image}:${alfresco.platform.version}
ARG TOMCAT_DIR=/usr/local/tomcat
ARG USERNAME=${alfresco.platform.docker.user}
USER root
# Copy Dockerfile to avoid an error if no JARs exist
COPY Dockerfile extensions/*.jar $TOMCAT_DIR/webapps/alfresco/WEB-INF/lib/
# Copy Dockerfile to avoid an error if no AMPs exist
COPY Dockerfile extensions/*.amp $TOMCAT_DIR/amps/
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-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,3 +1,6 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
@@ -15,15 +18,12 @@
# RUN TIME PROPERTIES
# -------------------
########################################################################################################################
# Alfresco configuration for running locally
#
# Alfresco configuration for running locally with PostgreSQL Database
#
# Configuration when running Tomcat embedded from Maven.
# This will create the alf_data_dev directory relative to Tomcat run folder.
# Property values from the POM but it can also be edited here.
########################################################################################################################
dir.root=${alfresco.data.location}
#
# Alfresco Repo Webapp (alfresco.war) context, ports etc
alfresco.context=alfresco
@@ -34,19 +34,11 @@ alfresco.protocol=http
# Alfresco Share Webapp (share.war) context, ports etc
share.context=share
share.host=localhost
share.port=8080
share.port=8180
share.protocol=http
index.subsystem.name=solr4
solr.host=localhost
solr.port=8080
solr.secureComms=none
# Don't try and recover any index
index.recovery.mode=NONE
# As we run embedded, we set Lucene
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
#index.subsystem.name=buildonly
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
@@ -58,16 +50,39 @@ wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
# Fail or not when there are node integrity checker errors
integrity.failOnError=true
# Database connection properties
db.driver=${alfresco.db.datasource.class}
db.url=${alfresco.db.url}
db.username=${alfresco.db.username}
db.password=${alfresco.db.password}
# Alfresco Repository PostgreSQL Database configuration.
# The PostgreSQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
db.driver=org.postgresql.Driver
# This Alfresco Platform Configuration file should be used for custom properties that are introduced by this module.
# Define default values for all properties here.
# System Administrators can override these values in environment specific configurations in
# alfresco/tomcat/shared/classes/alfresco-global.properties.
#
index.subsystem.name=solr6
solr.host=${rootArtifactId}-ass
solr.port=8983
solr.secureComms=secret
solr.sharedSecret=secret
db.username=alfresco
db.password=alfresco
db.pool.initial=10
db.pool.max=100
hibernate.dialect=org.hibernate.dialect.H2Dialect
db.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco
# File servers related properties
# For local runs we disable CIFS and FTP
cifs.enabled=false
ftp.enabled=false
ftp.enabled=false
csrf.filter.enabled=false
# Embedded broker without persistence
messaging.broker.url=vm://localhost?broker.persistent=false
# Disable ATS
transform.service.enabled=false
local.transform.service.enabled=false
legacy.transform.service.enabled=false
@@ -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
@@ -0,0 +1,51 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Enable hotswap so that changes in this module will be automatically reloaded
# Watch for changed class files on watchResources path and reload class definition in the running application.
autoHotswap=true
#autoHotswap.port=8000
# Add a directory prior to application classpath (load classes and resources).
#
# This may be useful for example in multi module maven project to load class changes from upstream project
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to
# classes from built JAR file.
# i.e. monitor /target/classes
# should work with extraClasspath=${project.build.outputDirectory}
# If not try
extraClasspath=/usr/local/tomcat/hotswap-agent
# Comma separated list of disabled plugins
# Use plugin name - e.g.
# Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat,
# ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox, Proxy, WebObjects, Weld, JBossModules, Resteasy, Gae
disabledPlugins=Hibernate,Spring
# Add a directory prior to webapp path (load webapp resources).
#
# Load web application resources (such as HTML, JSP, CSS, ...) from this directory prior to default processing.
# Use this setting to set to serve resources from source directory directly (e.g. src/main/webapp).
extraWebappContext=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-platform/target/classes/META-INF/resources;
# Load static web resources from different directory.
#
# This setting is dependent on application server plugin(Jetty, Tomcat, JBoss, ...)
webappDir=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-platform/target/classes/META-INF/resources;
# Watch for changes in a directory (resources only).
#
# Similar to extraClasspath this property adds classpath when searching for resources (not classes).
# While extra classpath just modifies the classloader, this setting does nothing until the resource
# is really changed.
#
# Sometimes it is not possible to point extraClasspath to your i.e. src/main/resources, because there are multiple
# replacements of resources in a building step (maven filtering resource option).
# This setting will leave i.e. src/target/classes as default source for resources, but after the resource is modified
# in src/main/resources, the new changed resource is served instead.
# watchResources=
LOGGER.org.hotswap.agent=DEBUG
#LOGGER.org.hotswap.agent.plugin=TRACE
#LOGGER.org.hotswap.agent.watch=TRACE
#LOGGER.org.hotswap.agent.command=TRACE
@@ -0,0 +1,6 @@
# Enterprise License location
Put the Alfresco Enterprise license file in this directory.
It will then be copied into the ACS container in the
$TOMCAT_DIR/WEB-INF/classes/alfresco/extension/license directory.
@@ -1,27 +0,0 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>build-amp-file</id>
<formats>
<format>amp</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
<filtered>true</filtered>
</file>
</files>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
@@ -1,18 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.platformsample;
/**
* This class does nothing except dump some output to <i>system.out</i>.
* This is a sample taken from Maven Alfresco SDK
*
* @author Derek Hulley
*/
public class Demo
{
public void init()
{
System.out.println("Platform JAR Module class has been loaded");
}
}
@@ -1,43 +0,0 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/*
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package ${package}.platformsample;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
import java.util.HashMap;
import java.util.Map;
/**
* A demonstration Java controller for the Hello World Web Script.
*
* @author martin.bergljung@alfresco.com
* @since 2.1.0
*/
public class HelloWorldWebScript extends DeclarativeWebScript {
protected Map<String, Object> executeImpl(
WebScriptRequest req, Status status, Cache cache) {
Map<String, Object> model = new HashMap<String, Object>();
model.put("fromJava", "HelloFromJava");
return model;
}
}
@@ -1,42 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans>
<!-- A simple class that is initialized by Spring -->
<bean id="${package}.exampleBean" class="${package}.platformsample.Demo" init-method="init" />
<!-- A simple module component that will be executed once.
Note. this module component will only be executed once, and then there will be an entry for it in the Repo.
So doing for example $ mvn clean install -Prun twice will only execute this component the first time.
You need to remove /alf_data_dev for it to be executed again. -->
<bean id="${package}.exampleComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
<property name="name" value="exampleComponent" />
<property name="description" value="A demonstration component" />
<property name="sinceVersion" value="1.0" />
<property name="appliesFromVersion" value="1.0" />
<property name="nodeService" ref="NodeService" />
<property name="nodeLocatorService" ref="nodeLocatorService" />
</bean>
</beans>
@@ -1,43 +0,0 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-----------------------------------------------------------------------
# ${artifactId} module log4j.properties
#
# NOTE
# ----
# Log4j uses the following logging levels:
# debug,info,warn,error,fatal
#
# To set the logging level of {fullClassName} to {loglevel},
# add a line to this file of the following form:
#
# log4j.logger.{fullClassName}={loglevel}
#
# For example, to make 'com.example.MyExample' produce 'debug'
# logs, add a line like this:
#
# log4j.logger.com.example.MyExample=debug
#
#
# WARNING
# -------
# Log properties in this log4j.properties file override/augment
# those in the webapp's main log4j.properties.
#
#-----------------------------------------------------------------------
log4j.logger.${package}.platformsample.DemoComponent=debug
@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema"
expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="my-process">
<startEvent id="start" />
<sequenceFlow id="flow1" sourceRef="start" targetRef="someTask" />
<userTask id="someTask" name="Activiti is awesome!" />
<sequenceFlow id="flow2" sourceRef="someTask" targetRef="end" />
<endEvent id="end" />
</process>
</definitions>
@@ -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 3
</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>
@@ -17,13 +16,6 @@
</properties>
<dependencies>
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
</dependency>
</dependencies>
<build>
@@ -35,4 +27,4 @@
</plugins>
</build>
</project>
</project>
@@ -0,0 +1,66 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<!--
Note that the Module dependency specified in the configuration section for the Alfresco Maven Plugin
needs to be set to amp if any 3rd party libs should be applied by MMT:
`
<platformModules>
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>some-platform</artifactId>
<version>${project.version}</version>
<type>amp</type>
</moduleDependency>
-->
<id>build-amp-file</id>
<formats>
<format>amp</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<!-- Filter module.properties and put at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
<filtered>true</filtered>
</file>
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
<file>
<source>src/main/assembly/file-mapping.properties</source>
<filtered>false</filtered>
</file>
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
<filtered>false</filtered>
</file>
</files>
<fileSets>
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
<fileSet>
<directory>src/main/assembly/web</directory>
<outputDirectory>web</outputDirectory>
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
<excludes>
<exclude>README.md</exclude>
</excludes>
</fileSet>
</fileSets>
<!-- Include the project artifact (JAR) in the /lib directory in the AMP, and any 3rd party libraries (JARs)
used by the customization.
-->
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
@@ -0,0 +1,27 @@
# Custom AMP to WAR location mappings
#
# The following property can be used to include the standard set of mappings.
# The contents of this file will override any defaults. The default is
# 'true', i.e. the default mappings will be augmented or modified by values in
# this file.
#
# Default mappings are:
#
# /config=/WEB-INF/classes
# /lib=/WEB-INF/lib
# /licenses=/WEB-INF/licenses
# /web/jsp=/jsp
# /web/css=/css
# /web/images=/images
# /web/scripts=/scripts
# /web/php=/php
#
include.default=true
#
# Custom mappings. If 'include.default' is false, then this is the complete set.
# Map /web to / in AMP so we can override things like favicon.ico
#
/web=/
@@ -0,0 +1,22 @@
# Web resources that should override out-of-the-box files
Put here any web resources that should override out-of-the-box
web resources, such as favicon.ico. They will then end up in the
*/web* directory in the AMP, and applied to the WAR, and override
any existing web resources in the Alfresco.WAR.
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
`
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>some-platform</artifactId>
<version>${project.version}</version>
<type>amp</type>
</moduleDependency>
`
**Important**. New web resources should not be located here, but instead
in the usual place in the *src/main/resources/META-INF/resources* directory.
@@ -0,0 +1,35 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
/**
* This class does nothing except dump some output to <i>system.out</i>.
* This is a sample taken from Maven Alfresco SDK
*
* @author Derek Hulley
*/
public class Demo
{
public void init()
{
System.out.println("Platform JAR Module class has been loaded");
}
}
@@ -1,22 +1,23 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/*
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
import org.alfresco.repo.module.AbstractModuleComponent;
@@ -35,7 +36,7 @@ import org.apache.commons.logging.LogFactory;
* @author Maurizio Pillitu
*/
public class DemoComponent extends AbstractModuleComponent {
Log log = LogFactory.getLog(DemoComponent.class);
private static Log logger = LogFactory.getLog(DemoComponent.class);
private NodeService nodeService;
@@ -55,8 +56,8 @@ public class DemoComponent extends AbstractModuleComponent {
@Override
protected void executeInternal() throws Throwable {
System.out.println("DemoComponent has been executed");
log.debug("Test debug logging. Congratulation your JAR Module is working");
log.info("This is only for information purposed. Better remove me from the log in Production");
logger.debug("Test debug logging. Congratulation your JAR Module is working");
logger.info("This is only for information purposes. Better remove me from the log in Production");
}
/**
@@ -0,0 +1,51 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.util.HashMap;
import java.util.Map;
/**
* A demonstration Java controller for the Hello World Web Script.
*
* @author martin.bergljung@alfresco.com
* @since 2.1.0
*/
public class HelloWorldWebScript extends DeclarativeWebScript {
private static Log logger = LogFactory.getLog(HelloWorldWebScript.class);
protected Map<String, Object> executeImpl(
WebScriptRequest req, Status status, Cache cache) {
Map<String, Object> model = new HashMap<String, Object>();
model.put("fromJava", "HelloFromJava");
logger.debug("Your 'Hello World' Web Script was called!");
return model;
}
}
@@ -5,13 +5,13 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- The bootstrap-context.xml file is used for patch definitions, importers,
workflow, and loading custom content models. -->
<!-- Registration of new models -->
<bean id="${package}.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<bean id="${artifactId}.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
@@ -36,5 +36,10 @@
</props>
</list>
</property>
<property name="labels">
<list>
<value>alfresco/module/${project.artifactId}/messages/workflow-messages</value>
</list>
</property>
</bean>
</beans>
@@ -0,0 +1,44 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
<?xml version='1.0' encoding='UTF-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- A simple class that is initialized by Spring -->
<bean id="${package}.Demo" class="${package}.platformsample.Demo" init-method="init" />
<!-- A simple module component that will be executed once.
Note. this module component will only be executed once, and then there will be an entry for it in the Repo DB.
So doing for example $ mvn clean install alfresco:run twice will only execute this component the first time.
You need to remove /alf_data_dev for it to be executed again. -->
<bean id="${package}.DemoComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
<property name="name" value="DemoComponent" />
<property name="description" value="A demonstration component" />
<property name="sinceVersion" value="1.0" />
<property name="appliesFromVersion" value="0.99" /> <!-- 1.0 would not work here when using SNAPSHOT version in project -->
<property name="nodeService" ref="NodeService" />
<property name="nodeLocatorService" ref="nodeLocatorService" />
</bean>
</beans>
@@ -2,7 +2,6 @@
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -19,7 +18,10 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="webscript.alfresco.tutorials.helloworld.get"
class="${package}.platformsample.HelloWorldWebScript"
parent="webscript">
@@ -0,0 +1,5 @@
#
# Activiti My Process Workflow
#
my-process.workflow.title=My Process
my-process.workflow.description=This is my custom process
@@ -15,12 +15,18 @@
limitations under the License.
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- This is filtered by Maven at build time, so that module name is single sourced. -->
<!-- Note. The bootstrap-context.xml file has to be loaded first.
Otherwise your custom models are not yet loaded when your service beans are instantiated and you
cannot for example register policies on them. -->
<import resource="classpath:alfresco/module/${project.artifactId}/context/bootstrap-context.xml" />
<import resource="classpath:alfresco/module/${project.artifactId}/context/service-context.xml" />
<import resource="classpath:alfresco/module/${project.artifactId}/context/bootstrap-context.xml" />
<import resource="classpath:alfresco/module/${project.artifactId}/context/webscript-context.xml" />
</beans>
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns:activiti="http://activiti.org/bpmn"
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" typeLanguage="http://www.w3.org/2001/XMLSchema"
expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
<process id="my-process">
<startEvent id="start" activiti:formKey="wf:submitAdhocTask"/>
<sequenceFlow id="flow1" sourceRef="start" targetRef="someTask"/>
<userTask id="someTask" name="Activiti is awesome!" activiti:formKey="wf:adhocTask">
<humanPerformer>
<resourceAssignmentExpression>
<formalExpression>${bpm_assignee.properties.userName}</formalExpression>
</resourceAssignmentExpression>
</humanPerformer>
</userTask>
<sequenceFlow id="flow2" sourceRef="someTask" targetRef="end"/>
<endEvent id="end"/>
</process>
</definitions>
@@ -0,0 +1,56 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/**
* Copyright (C) 2017 Alfresco Software Limited.
* <p/>
* This file is part of the Alfresco SDK project.
* <p/>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p/>
* http://www.apache.org/licenses/LICENSE-2.0
* <p/>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ${package}.platformsample;
import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.extensions.webscripts.*;
import java.util.Map;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
* Unit testing the Web Script Java Controller
*
* @author martin.bergljung@alfresco.com
* @version 1.0
* @since 3.0
*/
public class HelloWorldWebScriptControllerTest {
@Test
public void testController() {
WebScriptRequest req = Mockito.mock(WebScriptRequest.class);
Status status = Mockito.mock(Status.class);
Cache cache = Mockito.mock(Cache.class);
String helloPropName = "fromJava";
String helloPropExpectedValue = "HelloFromJava";
HelloWorldWebScript ws = new HelloWorldWebScript();
Map<String, Object> model = ws.executeImpl(req, status, cache);
assertNotNull("Response from Web Script Java Controller is null", model);
assertEquals("Incorrect Web Script Java Controller Response",
helloPropExpectedValue, model.get(helloPropName));
}
}
@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>${artifactId}</artifactId>
<name>Alfresco Share Docker Module</name>
<description>Share Docker Module to generate the final Docker image</description>
<packaging>jar</packaging>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<properties>
</properties>
<dependencies>
<dependency>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}-share</artifactId>
<version>${version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<!-- Collect extensions (JARs or AMPs) declared in this module do be deployed to docker -->
<execution>
<id>collect-extensions</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<includeScope>runtime</includeScope>
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
</configuration>
</execution>
</executions>
</plugin>
<!-- Filter the Dockerfile and the other files added to the container to be able to replace maven properties -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-and-filter-docker-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,16 @@
FROM ${docker.share.image}:${alfresco.share.docker.version}
ARG TOMCAT_DIR=/usr/local/tomcat
# Copy Dockerfile to avoid an error if no JARs exist
COPY Dockerfile extensions/*.jar $TOMCAT_DIR/webapps/share/WEB-INF/lib/
# Copy Dockerfile to avoid an error if no AMPs exist
COPY Dockerfile extensions/*.amp $TOMCAT_DIR/amps_share/
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
$TOMCAT_DIR/amps_share $TOMCAT_DIR/webapps/share -directory -nobackup -force
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
@@ -0,0 +1,52 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# Enable hotswap so that changes in this module will be automatically reloaded
# Watch for changed class files on watchResources path and reload class definition in the running application.
autoHotswap=true
#autoHotswap.port=8000
# Add a directory prior to application classpath (load classes and resources).
#
# This may be useful for example in multi module maven project to load class changes from upstream project
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to
# classes from built JAR file.
# i.e. monitor /target/classes
# should work with extraClasspath=${project.build.outputDirectory}
# If not try
extraClasspath=/usr/local/tomcat/hotswap-agent
# Comma separated list of disabled plugins
# Use plugin name - e.g.
# Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat,
# ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox, Proxy, WebObjects, Weld, JBossModules, Resteasy, Gae
disabledPlugins=Hibernate,Spring
# Add a directory prior to webapp path (load webapp resources).
#
# Load web application resources (such as HTML, JSP, CSS, ...) from this directory prior to default processing.
# Use this setting to set to serve resources from source directory directly (e.g. src/main/webapp).
extraWebappContext=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-share/target/classes/META-INF/resources;
# Load static web resources from different directory.
#
# This setting is dependent on application server plugin(Jetty, Tomcat, JBoss, ...)
webappDir=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-share/target/classes/META-INF/resources;
# Watch for changes in a directory (resources only).
#
# Similar to extraClasspath this property adds classpath when searching for resources (not classes).
# While extra classpath just modifies the classloader, this setting does nothing until the resource
# is really changed.
#
# Sometimes it is not possible to point extraClasspath to your i.e. src/main/resources, because there are multiple
# replacements of resources in a building step (maven filtering resource option).
# This setting will leave i.e. src/target/classes as default source for resources, but after the resource is modified
# in src/main/resources, the new changed resource is served instead.
# watchResources=
LOGGER.org.hotswap.agent=DEBUG
#LOGGER.org.hotswap.agent.plugin=TRACE
#LOGGER.org.hotswap.agent.watch=TRACE
#LOGGER.org.hotswap.agent.command=TRACE
@@ -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...
#-----------------------------------------------------------------------
@@ -0,0 +1,113 @@
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<!-- Changing this to 'development' currently breaks the Admin Console.
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
</autowire>
<!--
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
If resource caching has been disabled then all the dependency caches will be cleared
before processing the Aikau jsonModel request...
(i.e. this.dojoDependencyHandler.clearCaches() )
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
-->
<disable-resource-caching>false</disable-resource-caching>
</web-framework>
</config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>true</client-debug>
<!--
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
This flag automatically activates logging on page load.
-->
<client-debug-autologging>false</client-debug-autologging>
</flags>
</config>
<!--
Disable CSRF completely for now
It seems Share has issues on 4.x with the embedded tomcat and CSRFPolicy
-->
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
<!--
Change so it is picked up from property where the Alfresco Repo Webapp is running
(e.g. http://localhost:8080/alfresco)
-->
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<endpoint>
<id>activiti-admin</id>
<name>Activiti Admin UI - user access</name>
<description>Access to Activiti Admin UI, that requires user authentication</description>
<connector-id>activiti-admin-connector</connector-id>
<endpoint-url>http://${acs.host}:8080/alfresco/activiti-admin</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-api</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Public API - user access</name>
<description>Access to Alfresco Repository Public API that require user authentication.
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://${acs.host}:8080/alfresco/api</endpoint-url>
<identity>user</identity>
</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,26 +0,0 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<id>build-amp-file</id>
<formats>
<format>amp</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<file>
<source>${project.basedir}/src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
<filtered>true</filtered>
</file>
</files>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
@@ -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 3</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>
@@ -22,15 +22,18 @@
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>${alfresco.share.war.artifactId}</artifactId>
<artifactId>share</artifactId>
<classifier>classes</classifier>
</dependency>
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-surf-api</artifactId>
</dependency>
</dependencies>
</project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
@@ -0,0 +1,66 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
<!--
Note that the Module dependency specified in the configuration section for the Alfresco Maven Plugin
needs to be set to amp if any 3rd party libs should be applied by MMT:
`
<shareModules>
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>some-share</artifactId>
<version>${project.version}</version>
<type>amp</type>
</moduleDependency>
-->
<id>build-amp-file</id>
<formats>
<format>amp</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
<!-- Filter module.properties and put at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
<filtered>true</filtered>
</file>
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
<file>
<source>src/main/assembly/file-mapping.properties</source>
<filtered>false</filtered>
</file>
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
<file>
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
<filtered>false</filtered>
</file>
</files>
<fileSets>
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
<fileSet>
<directory>src/main/assembly/web</directory>
<outputDirectory>web</outputDirectory>
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
<excludes>
<exclude>README.md</exclude>
</excludes>
</fileSet>
</fileSets>
<!-- Include the project artifact (JAR) in the /lib directory in the AMP, and any 3rd party libraries (JARs)
used by the customization.
-->
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</assembly>
@@ -0,0 +1,27 @@
# Custom AMP to WAR location mappings
#
# The following property can be used to include the standard set of mappings.
# The contents of this file will override any defaults. The default is
# 'true', i.e. the default mappings will be augmented or modified by values in
# this file.
#
# Default mappings are:
#
# /config=/WEB-INF/classes
# /lib=/WEB-INF/lib
# /licenses=/WEB-INF/licenses
# /web/jsp=/jsp
# /web/css=/css
# /web/images=/images
# /web/scripts=/scripts
# /web/php=/php
#
include.default=true
#
# Custom mappings. If 'include.default' is false, then this is the complete set.
# Map /web to / in AMP so we can override things like favicon.ico
#
/web=/
@@ -0,0 +1,22 @@
# Web resources that should override out-of-the-box files
Put here any web resources that should override out-of-the-box
web resources, such as favicon.ico. They will then end up in the
*/web* directory in the AMP, and applied to the WAR, and override
any existing web resources in the Share.WAR.
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
`
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>some-share</artifactId>
<version>${project.version}</version>
<type>amp</type>
</moduleDependency>
`
**Important**. New web resources should not be located here, but instead
in the usual place in the *src/main/resources/META-INF/resources/<module-id>/* directory.
@@ -5,7 +5,7 @@
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!--
Define beans related to this Share extension here, such as
@@ -0,0 +1,77 @@
#set( $symbol_dollar = '$' )
version: '3.4'
services:
${rootArtifactId}-share:
image: alfresco-share-${rootArtifactId}:development
build:
dockerfile: ./Dockerfile
context: ../../../${rootArtifactId}-share-docker/target
environment:
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
REPO_HOST: ${rootArtifactId}-acs
REPO_PORT: 8080
ports:
- "${symbol_dollar}{share.port}:8080"
- "${symbol_dollar}{share.debug.port}:8888"
${rootArtifactId}-acs:
image: alfresco-content-services-${rootArtifactId}:development
build:
dockerfile: ./Dockerfile
context: ../../../${rootArtifactId}-platform-docker/target
environment:
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
JAVA_OPTS: "
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
"
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
ports:
- "${symbol_dollar}{acs.port}:8080"
- "${symbol_dollar}{acs.debug.port}:8888"
volumes:
- ${rootArtifactId}-acs-volume:/usr/local/tomcat/alf_data
depends_on:
- ${rootArtifactId}-postgres
${rootArtifactId}-postgres:
image: postgres:16.5
environment:
POSTGRES_DB: alfresco
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG
ports:
- "${symbol_dollar}{postgres.port}:5432"
volumes:
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
${rootArtifactId}-ass:
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.18-jre17-rockylinux8
mem_limit: 1g
ports:
- 8161:8161 # Web Console
- 5672:5672 # AMQP
- 61616:61616 # OpenWire
- 61613:61613 # STOMP
volumes:
${rootArtifactId}-acs-volume:
external: true
${rootArtifactId}-db-volume:
external: true
${rootArtifactId}-ass-volume:
external: true
@@ -5,70 +5,87 @@
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>AIO - SDK 3.0 Beta</name>
<description>All-In-One (AIO) project for SDK 3.0</description>
<name>AIO - SDK 4.15.0</name>
<description>All-In-One (AIO) project for SDK 4.15.0</description>
<packaging>pom</packaging>
<prerequisites>
<maven>3.3.0</maven>
</prerequisites>
<properties>
<!-- Alfresco Maven Plugin version to use -->
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Alfresco Data directory, which will contain:
Content Store (i.e. the files we upload)
Database (i.e. the metadata for the uploaded files)
Search index (i.e. the indexed content and metadata)
Configured in alfresco-global.properties with the 'dir.root' property.
-->
<alfresco.data.location>${session.executionRootDirectory}/alf_data_dev</alfresco.data.location>
<!-- Duplicated with alfresco.solrHome in the plugin, we need them out here to do filtering -->
<solr.home>${alfresco.data.location}/solr</solr.home>
<solr.model.dir>${solr.home}/alfrescoModels</solr.model.dir>
<solr.content.dir>${solr.home}/index</solr.content.dir>
<!-- Properties used in dependency declarations, you don't need to change these -->
<alfresco.groupId>org.alfresco</alfresco.groupId>
<alfresco.platform.war.artifactId>alfresco-platform</alfresco.platform.war.artifactId>
<alfresco.share.war.artifactId>share</alfresco.share.war.artifactId>
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
<!-- Alfresco Platform and Share webapp versions, these are the original Alfresco webapps that will be
customized and then deployed and run by the tomcat maven plugin when
executing for example $ mvn clean install alfresco:run -->
<alfresco.platform.version>5.2.a-EA</alfresco.platform.version>
<alfresco.share.version>5.1.g</alfresco.share.version>
<!-- Docker images -->
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
<docker.share.image>@@alfresco.share.docker.image@@</docker.share.image>
<!-- Alfresco Surf version, if you change Share version you might need to change Surf version -->
<alfresco.surf.version>6.5</alfresco.surf.version>
<!-- Aikau framework version, it is released separately, so it can be useful to be able
to bring in newer versions with bug fixes etc -->
<aikau.version>1.0.82</aikau.version>
<!-- Alfresco Repo Database configuration.
By default it uses a flat file H2 database to be able to run embedded.
The H2 database implementation is brought in via the tomcat7-maven-plugin as a dependency.
The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
see alfresco.db.url below.
For more information about the db parameters see:http://www.h2database.com/html/features.html
-->
<alfresco.db.name>alf_dev</alfresco.db.name>
<alfresco.db.username>alfresco</alfresco.db.username>
<alfresco.db.password>alfresco</alfresco.db.password>
<alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
</alfresco.db.params>
<alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}
</alfresco.db.url>
<alfresco.db.datasource.class>org.h2.jdbcx.JdbcDataSource</alfresco.db.datasource.class>
<keystore.settings>@@keystore.settings@@</keystore.settings>
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
<jrebel.version>1.1.6</jrebel.version>
<jrebel.version>1.1.8</jrebel.version>
<!-- Environment configuration properties -->
<share.port>8180</share.port>
<share.debug.port>9898</share.debug.port>
<acs.host>${artifactId}-acs</acs.host>
<acs.port>8080</acs.port>
<acs.debug.port>8888</acs.debug.port>
<postgres.port>5555</postgres.port>
<!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) -->
<test.acs.endpoint.path>@@test.acs.endpoint.path@@</test.acs.endpoint.path>
<!-- Environment to use, Alfresco Maven Plugin will copy alfresco-global.properties from this directory -->
<env>local</env>
</properties>
<!-- Libs used in Unit and Integration tests -->
<!-- IMPORTANT - Test dependencies need to be here in the top parent POM as
the Alfresco Maven IT Mojo runs as part of the parent project ... -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<scope>test</scope>
</dependency>
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-remote-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes -->
<dependency>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-rad</artifactId>
<version>${alfresco.sdk.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
@@ -79,7 +96,7 @@
-->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
<artifactId>${alfresco.bomDependencyArtifactId}</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
@@ -88,14 +105,14 @@
They are defined in alfresco-platform-distribution... -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>${alfresco.share.war.artifactId}</artifactId>
<artifactId>share</artifactId>
<version>${alfresco.share.version}</version>
<type>war</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>${alfresco.share.war.artifactId}</artifactId>
<artifactId>share</artifactId>
<version>${alfresco.share.version}</version>
<classifier>classes</classifier>
<scope>provided</scope>
@@ -108,27 +125,20 @@
<scope>provided</scope>
</dependency>
<!-- Redefine the following surf dependencies as they have no resolvable version in the
alfresco-platform-distribution artifact -->
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-surf</artifactId>
<version>${alfresco.surf.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.alfresco.surf</groupId>
<artifactId>spring-surf-api</artifactId>
<version>${alfresco.surf.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<!-- Build an AMP if 3rd party libs are needed by the extensions -->
<!--
Build an AMP if 3rd party libs are needed by the extensions
JARs are the default artifact produced in your modules, if you want to build an amp for each module
you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize
the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your
module.
-->
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
@@ -154,105 +164,197 @@
</dependency>
</dependencies>
</plugin>
-->
<!-- Filter resources in any sub-project with this config -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>css</nonFilteredFileExtension>
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
<nonFilteredFileExtension>js</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>${jrebel.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.5.5</version>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify-test</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
</plugin>
</plugins>
</pluginManagement>
<!-- Make sure resources in sub-projects are filtered -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<!--
The Alfresco Maven Plugin contains all the logic to run the extension
in an embedded Tomcat with the H2 database.
-->
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>${alfresco.sdk.version}</version>
<configuration>
<!-- Default is to run with a Community edition, change to 'enterprise' if using Enterprise edition -->
<alfrescoEdition>community</alfrescoEdition>
<!-- We need the flat file H2 database to run the Repo -->
<enableH2>true</enableH2>
<!-- We always need the Platform/Repo webapp - alfresco.war -->
<enablePlatform>true</enablePlatform>
<!-- Enable Solr webapp so we can use search -->
<enableSolr>true</enableSolr>
<!-- We need Share webapp, so we got a UI for working with the Repo -->
<enableShare>true</enableShare>
<!--
JARs and AMPs that should be overlayed/applied to the Platform/Repository WAR
(i.e. alfresco.war)
-->
<platformModules>
<moduleDependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.share.version}</version>
<type>amp</type>
</moduleDependency>
<!-- Bring in custom Modules -->
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>${artifactId}-platform-jar</artifactId>
<version>${project.version}</version>
</moduleDependency>
</platformModules>
<!--
JARs and AMPs that should be overlayed/applied to the Share WAR (i.e. share.war)
-->
<shareModules>
<moduleDependency>
<!-- Bring in a newer version of Aikau, can coexist with older versions in the
WAR distribution, newest version is picked. -->
<groupId>${alfresco.groupId}</groupId>
<artifactId>aikau</artifactId>
<version>${aikau.version}</version>
</moduleDependency>
<!-- Bring in custom Modules -->
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>${artifactId}-share-jar</artifactId>
<version>${project.version}</version>
</moduleDependency>
</shareModules>
</configuration>
</plugin>
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
We need this here to get it done before the Alfresco Maven Plugin run is executed. -->
We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<inherited>false</inherited> <!-- Run only for the AIO parent Project -->
<inherited>false</inherited>
<!-- Run only for the AIO parent Project -->
<executions>
<execution>
<id>copy-and-filter-test-resources</id>
<id>copy-and-filter-docker-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
<outputDirectory>${project.build.outputDirectory}/docker</outputDirectory>
<resources>
<testResource>
<directory>src/test/resources</directory>
<resource>
<directory>docker</directory>
<filtering>true</filtering>
</testResource>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Compress JavaScript files and store as *.min.js -->
<plugin>
<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>minify</goal>
</goals>
<configuration>
<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>
</excludes>
<force>true</force>
</configuration>
</execution>
<!-- Compress the JS files under the resources folder -->
<execution>
<id>compress-resources</id>
<phase>generate-resources</phase>
<goals>
<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>
</excludes>
<force>true</force>
</configuration>
</execution>
</executions>
</plugin>
<!-- Hot reloading with JRebel -->
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>${jrebel.version}</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
@@ -269,10 +371,8 @@
<fallback>all</fallback>
<resources>
<resource>
<!--
Empty resource element marks default configuration. By
default it is placed first in generated configuration.
-->
<directory>${project.build.outputDirectory}</directory>
<directory>${project.build.testOutputDirectory}</directory>
</resource>
</resources>
</classpath>
@@ -286,17 +386,66 @@
</configuration>
</plugin>
</plugins>
<resources>
<!-- Filter the resource files in all the sub-projects, and do property substitutions -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>java8</id>
<activation>
<jdk>[1.8,11.0)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java11</id>
<activation>
<jdk>[11.0,17)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</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>
<!--
Alfresco Maven Repositories
-->
@@ -313,7 +462,17 @@
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
<repository>
<id>alfresco-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
</repository>
<repository>
<id>alfresco-internal</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>alfresco-plugin-public</id>
@@ -328,5 +487,4 @@
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
@@ -1,9 +1,128 @@
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Dev environment startup script for Alfresco Community ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
#set( $symbol_dollar = '$' )
@ECHO OFF
set MAVEN_OPTS=-Xms256m -Xmx2G
SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml
mvn clean install -DskipTests=true alfresco:run
IF [%M2_HOME%]==[] (
SET MVN_EXEC=mvn
)
IF NOT [%M2_HOME%]==[] (
SET MVN_EXEC=%M2_HOME%\bin\mvn
)
IF [%1]==[] (
echo "Usage: %0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
GOTO END
)
IF %1==build_start (
CALL :down
CALL :build
CALL :start
CALL :tail
GOTO END
)
IF %1==build_start_it_supported (
CALL :down
CALL :build
CALL :prepare-test
CALL :start
CALL :tail
GOTO END
)
IF %1==start (
CALL :start
CALL :tail
GOTO END
)
IF %1==stop (
CALL :down
GOTO END
)
IF %1==purge (
CALL:down
CALL:purge
GOTO END
)
IF %1==tail (
CALL :tail
GOTO END
)
IF %1==reload_share (
CALL :build_share
CALL :start_share
CALL :tail
GOTO END
)
IF %1==reload_acs (
CALL :build_acs
CALL :start_acs
CALL :tail
GOTO END
)
IF %1==build_test (
CALL :down
CALL :build
CALL :prepare-test
CALL :start
CALL :test
CALL :tail_all
CALL :down
GOTO END
)
IF %1==test (
CALL :test
GOTO END
)
echo "Usage: %0 {build_start|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
:END
EXIT /B %ERRORLEVEL%
:start
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
EXIT /B 0
:start_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
EXIT /B 0
:down
if exist "%COMPOSE_FILE_PATH%" (
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
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
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
EXIT /B 0
: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
EXIT /B 0
:test
call %MVN_EXEC% verify -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests
EXIT /B 0
:purge
docker volume rm -f ${rootArtifactId}-acs-volume
docker volume rm -f ${rootArtifactId}-db-volume
docker volume rm -f ${rootArtifactId}-ass-volume
EXIT /B 0
@@ -1,3 +1,123 @@
#!/bin/bash
#set( $symbol_dollar = '$' )
#!/bin/sh
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install -DskipTests=true alfresco:run
export COMPOSE_FILE_PATH="${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml"
if [ -z "${symbol_dollar}{M2_HOME}" ]; then
export MVN_EXEC="mvn"
else
export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn"
fi
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
}
start_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
}
down() {
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
fi
}
purge() {
docker volume rm -f ${rootArtifactId}-acs-volume
docker volume rm -f ${rootArtifactId}-db-volume
docker volume rm -f ${rootArtifactId}-ass-volume
}
build() {
${symbol_dollar}MVN_EXEC clean package
}
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
${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
${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
}
tail_all() {
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
}
prepare_test() {
${symbol_dollar}MVN_EXEC verify -DskipTests=true -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests,${rootArtifactId}-platform-docker
}
test() {
${symbol_dollar}MVN_EXEC verify -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests
}
case "${symbol_dollar}1" in
build_start)
down
build
start
tail
;;
build_start_it_supported)
down
build
prepare_test
start
tail
;;
start)
start
tail
;;
stop)
down
;;
purge)
down
purge
;;
tail)
tail
;;
reload_share)
build_share
start_share
tail
;;
reload_acs)
build_acs
start_acs
tail
;;
build_test)
down
build
prepare_test
start
test
tail_all
down
;;
test)
test
;;
*)
echo "Usage: ${symbol_dollar}0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
esac
@@ -1,264 +0,0 @@
# 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=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
###### Hibernate specific appender definition #######
#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
###### Log level overrides #######
# 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
###### Scripting #######
# 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
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="${solr.home}" override="true"/>
<Environment name="solr/model/dir" type="java.lang.String" value="${solr.model.dir}" override="true"/>
<Environment name="solr/content/dir" type="java.lang.String" value="${solr.content.dir}" override="true"/>
</Context>
@@ -1,4 +0,0 @@
version=0.1-SNAPSHOT
groupId=archetype.it
artifactId=allInOneTest
package=it.pkg
@@ -1,5 +0,0 @@
version=0.1-SNAPSHOT
groupId=archetype.it
artifactId=allInOneTestRunEnterprise
package=it.pkg
@@ -1 +0,0 @@
verify -Prun -Penterprise -Dmaven.tomcat.fork=true
@@ -1,4 +0,0 @@
version=0.1-SNAPSHOT
groupId=archetype.it
artifactId=allInOneTestRun
package=it.pkg
@@ -1 +0,0 @@
verify -Prun -Dmaven.tomcat.fork=true
@@ -3,16 +3,16 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.alfresco.maven.archetype</groupId>
<artifactId>alfresco-amp-archetype</artifactId>
<artifactId>alfresco-platform-jar-archetype</artifactId>
<packaging>maven-archetype</packaging>
<name>Maven Alfresco SDK - Repository AMP Archetype</name>
<description>Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages)</description>
<name>Alfresco SDK - Platform JAR Archetype</name>
<description>Sample project with full support for lifecycle and rapid development of Platform/Repository JARs and AMPs (Alfresco Module Packages)</description>
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>3.0.0-beta-3</version>
<version>4.15.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -39,15 +39,17 @@
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@@</delimiter>
</delimiters>
<addDefaultExcludes>false</addDefaultExcludes>
</configuration>
</plugin>
</plugins>
@@ -0,0 +1,2 @@
def file = new File( request.getOutputDirectory(), request.getArtifactId()+"/run.sh" );
file.setExecutable(true, false);
@@ -11,12 +11,40 @@
</requiredProperties>
<fileSets>
<fileSet encoding="UTF-8" filtered="true">
<directory>docker</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet filtered="false" packaged="false" encoding="UTF-8">
<directory>src/main/assembly</directory>
<includes>
<include>**/*.xml</include>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/docker</directory>
<includes>
<include>license/**</include>
<include>Dockerfile</include>
<include>disable-webscript-caching-context.xml</include>
</includes>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true">
<directory>src/main/docker</directory>
<includes>
<include>**/*.properties</include>
</includes>
<excludes>
<exclude>license/**</exclude>
<exclude>Dockerfile</exclude>
<exclude>disable-webscript-caching-context.xml</exclude>
</excludes>
</fileSet>
<fileSet filtered="true" packaged="true" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
@@ -36,31 +64,18 @@
</includes>
<excludes>
<exclude>**/*-context.xml</exclude>
<exclude>**/log4j.properties</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true" packaged="false">
<directory>src/main/resources</directory>
<includes>
<include>**/*-context.xml</include>
<include>**/log4j.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<fileSet encoding="UTF-8" filtered="true">
<directory></directory>
<includes>
<include>.gitignore</include>
<include>run.sh</include>
<include>run.bat</include>
<include>README.md</include>
@@ -0,0 +1,38 @@
**.log*
# Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
# Eclipse
.metadata
.project
.classpath
bin/
tmp/
*.tmp
.settings/
.loadpath
.recommenders
# IntelliJ IDEA
**.idea
**.iml
# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# macOS
*.DS_Store
@@ -1,35 +1,44 @@
# Alfresco Platform JAR Module - SDK 3
# Alfresco ACS JAR Module - SDK 4.11.0
To run use `mvn clean install -DskipTests=true alfresco:run` or `./run.sh` and verify that it
This is an ACS project for Alfresco SDK 4.11.0.
* Runs the embedded Tomcat + H2 DB
* Runs Alfresco Platform (Repository)
* Runs Alfresco Solr4
* Packages both as JAR and AMP assembly
Try cloning it, change the port and play with `enableShare`, `enablePlatform` and `enableSolr`.
Protip: This module will work just fine as a Share module if the files are changed and
if the enablePlatform and enableSolr is disabled.
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
* Runs Alfresco Content Service (ACS)
* (Optional) Runs Alfresco Share
* Runs Alfresco Search Service (ASS)
* Runs PostgreSQL database
* Deploys the JAR assembled module
All the services of the project are now run as docker containers. The run script offers the next tasks:
* `build_start`. Build the whole project, recreate the ACS docker image, start the dockerised environment composed by ACS, Share (optional), ASS
and PostgreSQL and tail the logs of all the containers.
* `build_start_it_supported`. Build the whole project including dependencies required for IT execution, recreate the ACS docker image, start the dockerised environment
composed by ACS, Share (optional), ASS and PostgreSQL and tail the logs of all the containers.
* `start`. Start the dockerised environment without building the project and tail the logs of all the containers.
* `stop`. Stop the dockerised environment.
* `purge`. Stop the dockerised container and delete all the persistent data (docker volumes).
* `tail`. Tail the logs of all the containers.
* `reload_acs`. Build the ACS module, recreate the ACS docker image and restart the ACS container.
* `build_test`. Build the whole project, recreate the ACS docker image, start the dockerised environment, execute the integration tests and stop
the environment.
* `test`. Execute the integration tests (the environment must be already started).
# Few things to notice
* No parent pom
* WAR assembly is handled by the Alfresco Maven Plugin configuration
* No WAR projects, the jars are included in the custom docker images
* No runner project - the Alfresco environment is now managed through [Docker](https://www.docker.com/)
* Standard JAR packaging and layout
* Works seamlessly with Eclipse and IntelliJ IDEA
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml, agent usage: `MAVEN_OPTS=-Xms256m -Xmx1G -agentpath:/home/martin/apps/jrebel/lib/libjrebel64.so`
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml [JRebel integration documentation]
* AMP as an assembly
* [Configurable Run mojo](https://github.com/Alfresco/alfresco-sdk/blob/sdk-3.0/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/RunMojo.java) in the `alfresco-maven-plugin`
* No unit testing/functional tests just yet
* Persistent test data through restart thanks to the use of Docker volumes for ACS, ASS and database data
* Resources loaded from META-INF
* Web Fragment (this includes a sample servlet configured via web fragment)
# TODO
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
* Purge,
* Functional/remote unit tests
* Functional/remote unit tests
@@ -0,0 +1,73 @@
#set( $symbol_dollar = '$' )
version: '3.4'
services:
# Optional
# ${rootArtifactId}-share:
# image: ${symbol_dollar}{docker.share.image}:${symbol_dollar}{alfresco.share.version}
# environment:
# REPO_HOST: ${rootArtifactId}-acs
# REPO_PORT: 8080
# ports:
# - "${symbol_dollar}{share.port}:8080"
${rootArtifactId}-acs:
image: alfresco-content-services-${rootArtifactId}:development
build:
dockerfile: ./Dockerfile
context: ../../../target
environment:
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
JAVA_OPTS: "
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
"
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
ports:
- "${symbol_dollar}{acs.port}:8080"
- "${symbol_dollar}{acs.debug.port}:8888"
volumes:
- ${rootArtifactId}-acs-volume:/usr/local/tomcat/alf_data
depends_on:
- ${rootArtifactId}-postgres
${rootArtifactId}-postgres:
image: postgres:16.5
environment:
POSTGRES_DB: alfresco
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco
command: postgres -c max_connections=300 -c log_min_messages=LOG
ports:
- "${symbol_dollar}{postgres.port}:5432"
volumes:
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
${rootArtifactId}-ass:
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.18-jre17-rockylinux8
mem_limit: 1g
ports:
- 8161:8161 # Web Console
- 5672:5672 # AMQP
- 61616:61616 # OpenWire
- 61613:61613 # STOMP
volumes:
${rootArtifactId}-acs-volume:
external: true
${rootArtifactId}-db-volume:
external: true
${rootArtifactId}-ass-volume:
external: true
@@ -1,250 +1,573 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>${artifactId} Platform Jar Module - SDK 3</name>
<description>Platform JAR Module (to be included in the alfresco.war) - SDK 3</description>
<packaging>jar</packaging>
<properties>
<!-- Alfresco Maven Plugin version to use -->
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Alfresco Data directory, which will contain:
Content Store (i.e. the files we upload)
Database (i.e. the metadata for the uploaded files)
Search index (i.e. the indexed content and metadata)
Configured in alfresco-global.properties with the 'dir.root' property.
-->
<alfresco.data.location>${session.executionRootDirectory}/alf_data_dev</alfresco.data.location>
<!-- Duplicated with alfresco.solrHome in the plugin, we need them out here to do filtering -->
<solr.home>${alfresco.data.location}/solr</solr.home>
<solr.model.dir>${solr.home}/alfrescoModels</solr.model.dir>
<solr.content.dir>${solr.home}/index</solr.content.dir>
<!-- Properties used in dependency declarations, you don't need to change these -->
<alfresco.groupId>org.alfresco</alfresco.groupId>
<!-- Alfresco Platform webapp version, this is the original Alfresco webapp that will be
customized and then deployed and run by the tomcat maven plugin when
executing for example $ mvn clean install alfresco:run -->
<alfresco.platform.version>5.2.a-EA</alfresco.platform.version>
<!-- Alfresco Share version, so we can bring in correct alfresco-share-services artifact -->
<alfresco.share.version>5.1.g</alfresco.share.version>
<!-- Alfresco Repo Database configuration.
By default it uses a flat file H2 database to be able to run embedded.
The H2 database implementation is brought in via the tomcat7-maven-plugin as a dependency.
The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
see alfresco.db.url below.
For more information about the db parameters see:http://www.h2database.com/html/features.html
-->
<alfresco.db.name>alf_dev</alfresco.db.name>
<alfresco.db.username>alfresco</alfresco.db.username>
<alfresco.db.password>alfresco</alfresco.db.password>
<alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
</alfresco.db.params>
<alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}
</alfresco.db.url>
<alfresco.db.datasource.class>org.h2.jdbcx.JdbcDataSource</alfresco.db.datasource.class>
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
<jrebel.version>1.1.6</jrebel.version>
<!-- Environment to use, Alfresco Maven Plugin will copy alfresco-global.properties from this directory -->
<env>local</env>
</properties>
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
NOTE: You still need to define dependencies in your POM,
but you can omit version as it's enforced by this dependencyManagement.
NOTE: It defaults to the latest version this SDK pom has been tested with,
but alfresco version can/should be overridden in your project's pom
-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!--
The Alfresco Maven Plugin contains all the logic to run the extension
in an embedded Tomcat with the H2 database.
-->
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>${alfresco.sdk.version}</version>
<configuration>
<!-- Default is to run with a Community edition, change to 'enterprise' if using Enterprise edition -->
<alfrescoEdition>community</alfrescoEdition>
<!-- We need the flat file H2 database to run the Repo -->
<enableH2>true</enableH2>
<!-- This is a platform extension JAR, so we need the platform webapp (alfresco.war) -->
<enablePlatform>true</enablePlatform>
<!-- Enable Solr so we can use search, our Repo extension probably need search -->
<enableSolr>true</enableSolr>
<!-- We don't need the share.war if we don't have any UI extensions -->
<enableShare>false</enableShare>
<!--
JARs and AMPs that should be overlayed/applied to the Platform/Repository WAR
(i.e. alfresco.war)
-->
<platformModules>
<!-- This AMP is needed if we are going to access the platform webapp from a Share webapp -->
<moduleDependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-share-services</artifactId>
<version>${alfresco.share.version}</version>
<type>amp</type>
</moduleDependency>
<!-- Bring in this JAR project, need to be included here, otherwise resources from META-INF
will not be loaded, such as the test.html page
-->
<moduleDependency>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
</moduleDependency>
</platformModules>
</configuration>
</plugin>
<!-- Build an AMP if 3rd party libs are needed by the extension -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>build-amp-file</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptor>src/main/assembly/amp.xml</descriptor>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>${alfresco.sdk.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- Hot reloading with JRebel -->
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>${jrebel.version}</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- For more information about how to configure JRebel plugin see:
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
<classpath>
<fallback>all</fallback>
<resources>
<resource>
<!--
Empty resource element marks default configuration. By
default it is placed first in generated configuration.
-->
</resource>
</resources>
</classpath>
<!--
alwaysGenerate - default is false
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
If 'true' - rebel.xml will always be generated
-->
<alwaysGenerate>true</alwaysGenerate>
</configuration>
</plugin>
</plugins>
<resources>
<!-- Filter the resource files in this project and do property substitutions -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<!-- Filter the test resource files in this project and do property substitutions -->
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
<!--
Alfresco Maven Repositories
-->
<repositories>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
<repository>
<id>alfresco-public-snapshots</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>alfresco-plugin-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</pluginRepository>
<pluginRepository>
<id>alfresco-plugin-public-snapshots</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>${groupId}</groupId>
<artifactId>${artifactId}</artifactId>
<version>${version}</version>
<name>${artifactId} Platform/Repository JAR Module</name>
<description>Platform/Repo JAR Module (to be included in the alfresco.war)</description>
<packaging>jar</packaging>
<properties>
<!-- Alfresco Maven Plugin version to use -->
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Properties used in dependency declarations, you don't need to change these -->
<alfresco.groupId>org.alfresco</alfresco.groupId>
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
<!-- Docker images -->
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
<docker.share.image>@@alfresco.share.docker.image@@</docker.share.image>
<keystore.settings>@@keystore.settings@@</keystore.settings>
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
<jrebel.version>1.1.8</jrebel.version>
<!-- Environment configuration properties -->
<share.port>8180</share.port>
<acs.host>${artifactId}-acs</acs.host>
<acs.port>8080</acs.port>
<acs.debug.port>8888</acs.debug.port>
<postgres.port>5555</postgres.port>
<!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) -->
<test.acs.endpoint.path></test.acs.endpoint.path>
</properties>
<!-- Libs used in Unit and Integration tests -->
<!-- IMPORTANT - Test dependencies need to be here in the top parent POM as
the Alfresco Maven IT Mojo runs as part of the parent project ... -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<scope>test</scope>
</dependency>
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-remote-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes -->
<dependency>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-rad</artifactId>
<version>${alfresco.sdk.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
NOTE: You still need to define dependencies in your POM, but you can omit version as
it's enforced by this dependencyManagement.
NOTE: It defaults to the latest version this SDK pom has been tested with,
but alfresco version can/should be overridden in your project's pom
-->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>${alfresco.bomDependencyArtifactId}</artifactId>
<version>${alfresco.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<!--
Build an AMP if 3rd party libs are needed by the extensions
JARs are the default artifact produced in your modules, if you want to build an amp for each module
you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize
the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your
module.
-->
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>build-amp-file</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptor>src/main/assembly/amp.xml</descriptor>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<version>${alfresco.sdk.version}</version>
</dependency>
</dependencies>
</plugin>
-->
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>css</nonFilteredFileExtension>
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
<nonFilteredFileExtension>js</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
<executions>
<execution>
<id>copy-and-filter-docker-compose-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.outputDirectory}/docker</outputDirectory>
<resources>
<resource>
<directory>docker</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-and-filter-docker-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.jar</exclude>
<exclude>**/*.so</exclude>
<exclude>**/*.gz</exclude>
</excludes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-and-filter-docker-resources-non-filtered</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
<resources>
<resource>
<directory>src/main/docker</directory>
<filtering>false</filtering>
<includes>
<include>**/*.jar</include>
<include>**/*.so</include>
<include>**/*.gz</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-repository-extension</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<resources>
<resource>
<directory>target</directory>
<includes>
<include>${project.build.finalName}.jar</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-repository-tests</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<resources>
<resource>
<directory>target</directory>
<includes>
<include>${project.build.finalName}-tests.jar</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<!-- Copy the dependencies required for execute integration tests -->
<execution>
<id>collect-test-artifacts</id>
<phase>pre-integration-test</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<excludeScope>compile</excludeScope>
</configuration>
</execution>
<!-- Collect extensions (JARs or AMPs) declared in this module to be deployed to docker -->
<execution>
<id>collect-extensions</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
<includeScope>runtime</includeScope>
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
</configuration>
</execution>
</executions>
</plugin>
<!-- Make sure we attach the tests so we can include them when running -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Runs the integration tests, any class that follows naming convention
"**/IT*.java", "**/*IT.java", and "**/*ITCase.java" will be considered an integration test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.5.5</version>
<configuration>
<systemPropertyVariables>
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify-test</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M1</version>
</dependency>
</dependencies>
</plugin>
<!-- Compress JavaScript files and store as *.min.js -->
<plugin>
<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>minify</goal>
</goals>
<configuration>
<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>
</excludes>
<force>true</force>
</configuration>
</execution>
<!-- Compress the JS files under the resources folder -->
<execution>
<id>compress-resources</id>
<phase>generate-resources</phase>
<goals>
<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>
</excludes>
<force>true</force>
</configuration>
</execution>
</executions>
</plugin>
<!-- Hot reloading with JRebel -->
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<version>${jrebel.version}</version>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- For more information about how to configure JRebel plugin see:
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
<classpath>
<fallback>all</fallback>
<resources>
<resource>
<directory>${project.build.outputDirectory}</directory>
<directory>${project.build.testOutputDirectory}</directory>
</resource>
</resources>
</classpath>
<!--
alwaysGenerate - default is false
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
If 'true' - rebel.xml will always be generated
-->
<alwaysGenerate>true</alwaysGenerate>
</configuration>
</plugin>
</plugins>
<resources>
<!-- Filter the resource files in this project and do property substitutions -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<!-- Filter the test resource files in this project and do property substitutions -->
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
<profiles>
<profile>
<id>java8</id>
<activation>
<jdk>[1.8,11.0)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java11</id>
<activation>
<jdk>[11.0, 17)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</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>
<!--
Alfresco Maven Repositories
-->
<repositories>
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
<repository>
<id>alfresco-public-snapshots</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</repository>
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
<repository>
<id>alfresco-private-repository</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
</repository>
<repository>
<id>alfresco-internal</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>alfresco-plugin-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</pluginRepository>
<pluginRepository>
<id>alfresco-plugin-public-snapshots</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
@@ -1,8 +1,100 @@
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Dev environment startup script for Alfresco Community ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
#set( $symbol_dollar = '$' )
@ECHO OFF
set MAVEN_OPTS=-Xms256m -Xmx2G
SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml
mvn clean install -DskipTests=true alfresco:run
IF [%M2_HOME%]==[] (
SET MVN_EXEC=mvn
)
IF NOT [%M2_HOME%]==[] (
SET MVN_EXEC=%M2_HOME%\bin\mvn
)
IF [%1]==[] (
echo "Usage: %0 {build_start|build_start_it_supported|start|stop|purge|tail|build_test|test}"
GOTO END
)
IF %1==build_start (
CALL :down
CALL :build
CALL :start
CALL :tail
GOTO END
)
IF %1==build_start_it_supported (
CALL :down
CALL :build
CALL :prepare_test
CALL :start
CALL :tail
GOTO END
)
IF %1==start (
CALL :start
CALL :tail
GOTO END
)
IF %1==stop (
CALL :down
GOTO END
)
IF %1==purge (
CALL:down
CALL:purge
GOTO END
)
IF %1==tail (
CALL :tail
GOTO END
)
IF %1==build_test (
CALL :down
CALL :build
CALL :prepare_test
CALL :start
CALL :test
CALL :tail_all
CALL :down
GOTO END
)
IF %1==test (
CALL :test
GOTO END
)
echo "Usage: %0 {build_start|start|stop|purge|tail|build_test|test}"
:END
EXIT /B %ERRORLEVEL%
:start
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
EXIT /B 0
:down
if exist "%COMPOSE_FILE_PATH%" (
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
EXIT /B 0
:tail_all
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
EXIT /B 0
:prepare_test
call %MVN_EXEC% verify -DskipTests=true
EXIT /B 0
:test
call %MVN_EXEC% verify
EXIT /B 0
:purge
docker volume rm -f ${rootArtifactId}-acs-volume
docker volume rm -f ${rootArtifactId}-db-volume
docker volume rm -f ${rootArtifactId}-ass-volume
EXIT /B 0
@@ -1,3 +1,93 @@
#!/bin/bash
#set( $symbol_dollar = '$' )
#!/bin/sh
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install -DskipTests=true alfresco:run
export COMPOSE_FILE_PATH="${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml"
if [ -z "${symbol_dollar}{M2_HOME}" ]; then
export MVN_EXEC="mvn"
else
export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn"
fi
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
}
down() {
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
fi
}
purge() {
docker volume rm -f ${rootArtifactId}-acs-volume
docker volume rm -f ${rootArtifactId}-db-volume
docker volume rm -f ${rootArtifactId}-ass-volume
}
build() {
${symbol_dollar}MVN_EXEC clean package
}
tail() {
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
}
tail_all() {
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
}
prepare_test() {
${symbol_dollar}MVN_EXEC verify -DskipTests=true
}
test() {
${symbol_dollar}MVN_EXEC verify
}
case "${symbol_dollar}1" in
build_start)
down
build
start
tail
;;
build_start_it_supported)
down
build
prepare_test
start
tail
;;
start)
start
tail
;;
stop)
down
;;
purge)
down
purge
;;
tail)
tail
;;
build_test)
down
build
prepare_test
start
test
tail_all
down
;;
test)
test
;;
*)
echo "Usage: ${symbol_dollar}0 {build_start|build_start_it_supported|start|stop|purge|tail|build_test|test}"
esac

Some files were not shown because too many files have changed in this diff Show More