mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
286 Commits
alfresco-s
...
alfresco-s
Author | SHA1 | Date | |
---|---|---|---|
|
b737483c18 | ||
|
cc14a39be4 | ||
|
c910fa2b40 | ||
|
1ce98f09aa | ||
|
68155ef5a6 | ||
|
e5e0a7f76d | ||
|
ea4c12a836 | ||
|
d949a778ef | ||
|
099ac2ddeb | ||
|
b0bc6a38d5 | ||
|
1d1e89a86d | ||
|
517b20859e | ||
|
e27d6f1a70 | ||
|
10557e500d | ||
|
f7e4ea1b5c | ||
|
7838649c81 | ||
|
deaf4c06b8 | ||
|
067d751193 | ||
|
c0658f3a94 | ||
|
e378eec194 | ||
|
01e79d6953 | ||
|
b00ee7f5e5 | ||
|
6e5445a271 | ||
|
388f74eea3 | ||
|
2db3051599 | ||
|
8bb094b61a | ||
|
a4e79cc569 | ||
|
c14887f549 | ||
|
4e225147ea | ||
|
c5e92bdc25 | ||
|
ef59a6a39a | ||
|
42dc3659bd | ||
|
5d1fb4f4d9 | ||
|
185c4ad2bd | ||
|
0b85afc6fd | ||
|
9db0f5cff1 | ||
|
243f94227b | ||
|
330c66a1be | ||
|
ab4927afeb | ||
|
c48dffea69 | ||
|
b3391a67c3 | ||
|
465aa3de5a | ||
|
b32a78b7b3 | ||
|
7bd5c58136 | ||
|
5b21775793 | ||
|
1d551d1895 | ||
|
766847585e | ||
|
b366ae3ddd | ||
|
19369a23b5 | ||
|
93c28f5dde | ||
|
7792574dae | ||
|
e8976addea | ||
|
a7f2db61e8 | ||
|
2926a9ae83 | ||
|
246ae7a138 | ||
|
387a584aa1 | ||
|
edd8d8317b | ||
|
eb30a2d9e2 | ||
|
cf777840be | ||
|
efec137a10 | ||
|
210bee7d76 | ||
|
534e70a2c4 | ||
|
0fcec384fd | ||
|
9d1c2feaf2 | ||
|
709b820f2c | ||
|
217f135006 | ||
|
64843588f8 | ||
|
f1a7e645e4 | ||
|
e3ae54be9b | ||
|
2871883c7d | ||
|
3661a06206 | ||
|
436b9a455a | ||
|
5418b57325 | ||
|
376815c746 | ||
|
b76bb5730c | ||
|
7c4fc7a700 | ||
|
62dc99e9c6 | ||
|
ccee83f92d | ||
|
0027ef3ec4 | ||
|
32d286cb50 | ||
|
7017b057ea | ||
|
bb3780d31d | ||
|
2954b72765 | ||
|
13f6457fbd | ||
|
29006d1e93 | ||
|
301d0e81a0 | ||
|
4002c01134 | ||
|
64d53e0fe6 | ||
|
d1fb454772 | ||
|
cdcf9c6a96 | ||
|
9d7c80a147 | ||
|
beae915836 | ||
|
a6a199ad50 | ||
|
328faa3a5a | ||
|
cdaa995422 | ||
|
8617c29300 | ||
|
d2e21a38c6 | ||
|
a01573eff8 | ||
|
079b916d46 | ||
|
37275bcbf1 | ||
|
7d521e9f27 | ||
|
a7211c206b | ||
|
862c998542 | ||
|
29fdb576ab | ||
|
271ba3977f | ||
|
a1cbc0687d | ||
|
408fda1fd3 | ||
|
cb50841385 | ||
|
0d91902752 | ||
|
43405d037f | ||
|
4b98ff5846 | ||
|
45cf124566 | ||
|
0f500fab25 | ||
|
26c4364063 | ||
|
0c391693e4 | ||
|
92886f2ee9 | ||
|
991caa2191 | ||
|
f99521a851 | ||
|
49b489f181 | ||
|
424e6a5a26 | ||
|
a2b5e64848 | ||
|
6ae42f8fc0 | ||
|
c2ab1cf80a | ||
|
c7c4c49446 | ||
|
efbfc8fbba | ||
|
6e5bf3a757 | ||
|
4722c14121 | ||
|
d2c4dcc015 | ||
|
972c96ba0f | ||
|
067473669b | ||
|
3b0c2ddc9b | ||
|
9068c3209b | ||
|
4651f0a941 | ||
|
6bef9222eb | ||
|
a97975acec | ||
|
f0e604bd8c | ||
|
48a3eb6d7d | ||
|
0b79b0a71d | ||
|
3b25a7549c | ||
|
50c5c82f36 | ||
|
fff6bc4a41 | ||
|
c9a991698d | ||
|
97f0ea6119 | ||
|
7bf16b467b | ||
|
29c6a08066 | ||
|
00839a8170 | ||
|
646899610d | ||
|
126d31646e | ||
|
4c2ac6db7d | ||
|
6cd3e0c0c2 | ||
|
c6fbb76a39 | ||
|
706a6c2ccd | ||
|
c2f94e35bd | ||
|
8dd1ba923a | ||
|
0d158017e4 | ||
|
2c9fc00ea4 | ||
|
32a27e4f53 | ||
|
0577fcc168 | ||
|
c4dd6b01e6 | ||
|
eae6c13de5 | ||
|
0ca57b20a1 | ||
|
82cb58f472 | ||
|
779d53a051 | ||
|
5a35c948ca | ||
|
42a4805d93 | ||
|
1f18d34e8e | ||
|
3873d2907e | ||
|
86049b91bf | ||
|
8ff7f929e2 | ||
|
1fb478e77a | ||
|
f023ca2878 | ||
|
a891119b84 | ||
|
c84d0d4c87 | ||
|
d268c20c3a | ||
|
5291dc6e97 | ||
|
697ab7c3ec | ||
|
52a6938a66 | ||
|
7edac56eed | ||
|
fa828dede5 | ||
|
f5e3552283 | ||
|
ab9f384830 | ||
|
dced89eda6 | ||
|
3bced985d6 | ||
|
f0210c173a | ||
|
ea521ba7ee | ||
|
865ae6fd38 | ||
|
017dfcbff8 | ||
|
c25417e702 | ||
|
448b5c2929 | ||
|
ab29cc53fa | ||
|
228a98c566 | ||
|
82b7886a51 | ||
|
012dc70f43 | ||
|
b8377041a5 | ||
|
9071965850 | ||
|
1e5db412f7 | ||
|
37c26cfaa8 | ||
|
1cd4b82037 | ||
|
758ab83faf | ||
|
8862d67acd | ||
|
e4402a741f | ||
|
b1facc65de | ||
|
7668096829 | ||
|
ce7c374c1e | ||
|
68dda3b211 | ||
|
47a329a762 | ||
|
3ae8d043aa | ||
|
ba36d1ad5e | ||
|
f54fb5e3d3 | ||
|
1a8d8b76b6 | ||
|
55ac6917b7 | ||
|
993d5dcefe | ||
|
0411bc5b1d | ||
|
07bb743cfd | ||
|
ccb9f3d86f | ||
|
aebda9bf06 | ||
|
b7dbbe8995 | ||
|
c9b33b4f59 | ||
|
93dde46f51 | ||
|
addbc750c4 | ||
|
e302055caf | ||
|
3b7e32df20 | ||
|
8178eac5b8 | ||
|
b5ec7b415d | ||
|
278ba7f600 | ||
|
fef948b982 | ||
|
245a51402d | ||
|
3630cced6d | ||
|
892920c114 | ||
|
24500024ed | ||
|
85c7e11bb6 | ||
|
aede276f9b | ||
|
264d326bf2 | ||
|
d2868bdfae | ||
|
673461b6e2 | ||
|
6f1d01394d | ||
|
f5404b9d40 | ||
|
e6394e25b7 | ||
|
0fd842192b | ||
|
be8e10a556 | ||
|
3031b401a2 | ||
|
723b309670 | ||
|
051e967240 | ||
|
1f46a9e2ff | ||
|
3cbdb5dc8e | ||
|
3010c9773a | ||
|
b7fff632e7 | ||
|
5b3b5d3914 | ||
|
9b5db76577 | ||
|
43ad42aac8 | ||
|
9c5f1e9e0d | ||
|
c46b0b86d2 | ||
|
99031d5def | ||
|
0bdacc4787 | ||
|
b6e170a0ce | ||
|
a37b121cb6 | ||
|
c7591ca848 | ||
|
54a067325a | ||
|
ceed7af6fe | ||
|
377aaa5459 | ||
|
b226302572 | ||
|
876f6286fc | ||
|
5d59d6cd27 | ||
|
6d4b901129 | ||
|
0854929d99 | ||
|
8415da72b0 | ||
|
14cd4be39c | ||
|
f2f5698a3b | ||
|
5b83b99549 | ||
|
181951ed99 | ||
|
a4711142e6 | ||
|
78d1466220 | ||
|
d99539c9b0 | ||
|
30bfc14422 | ||
|
641aa6bb8e | ||
|
f031c76a41 | ||
|
2ad03e3f5c | ||
|
7275ba32e8 | ||
|
9bf50267dd | ||
|
bbe3de2abb | ||
|
5c01e8127c | ||
|
9a1b97e64d | ||
|
b3955a1b4f | ||
|
2e546a1cae | ||
|
9dd9f530bb | ||
|
3e7a6d83a9 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -12,3 +12,4 @@ pom.xml.next
|
||||
release.properties
|
||||
**.settings
|
||||
**bin
|
||||
*.DS_Store
|
||||
|
67
ISSUE_TEMPLATE.md
Normal file
67
ISSUE_TEMPLATE.md
Normal 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 -->
|
62
README.md
62
README.md
@@ -1,61 +1,64 @@
|
||||
# [](#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).
|
||||
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
|
||||
|
||||
- 2019-XX-XX: Alfresco SDK 4.0.0 released **(confirmation required)**
|
||||
- 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-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-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
|
||||
|
||||
### Latest Documentation
|
||||
To get started with Alfresco SDK 2.2.0 (latest) visit the offical Alfresco Documentation for:
|
||||
To get started with **Alfresco SDK 4.0.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||
|
||||
- [Alfresco Community 5.1 and above](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
|
||||
- [Alfresco Enterprise 5.1 and above](http://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html)
|
||||
#### Documentation about Previous Versions
|
||||
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||
| ------------- |:-------------:| :-----:|:-----|
|
||||
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://master--alfresco-builder-network.netlify.com **(confirmation required)** |
|
||||
| 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 |
|
||||
|
||||
#### Previous versions Documentation
|
||||
- Documentation for [Alfresco SDK 2.1](http://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html) (compatible with Alfresco 5.0.d Community and 5.0.1 Enterprise)
|
||||
- Documentation for [Alfresco SDK 2.0](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html) (compatible with Alfresco 5.0.c 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:
|
||||
- [Alfresco SDK Samples for 5.1 (JARs)](https://github.com/Alfresco/alfresco-sdk-samples/tree/alfresco-51/all-in-one).
|
||||
- [Alfresco SDK Samples for 5.0 (AMPs)](https://github.com/Alfresco/alfresco-sdk-samples/tree/alfresco-50/all-in-one).
|
||||
|
||||
### Command reference
|
||||
A list of supported features and commands is kept in the [Alfresco Official Docs](http://docs.alfresco.com/5.1/concepts/alfresco-sdk-cmd-reference.html).
|
||||
|
||||
### Want to get up to speed quickly in Eclipse? Check out this video!
|
||||
|
||||
[](https://www.youtube.com/watch?v=utYZaVe9Nd0)
|
||||
|
||||
## 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>
|
||||
@@ -74,6 +77,9 @@ 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).
|
||||
|
||||
|
1
archetypes/.gitignore
vendored
Normal file
1
archetypes/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.DS_Store
|
@@ -1,62 +0,0 @@
|
||||
<?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/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>org.alfresco.maven.archetype</groupId>
|
||||
<artifactId>activiti-jar-archetype</artifactId>
|
||||
|
||||
<packaging>maven-archetype</packaging>
|
||||
<name>Alfresco SDK - Activiti JAR Archetype</name>
|
||||
<description>Sample project with full support for lifecycle and rapid development of Activiti JARs</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-5</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>archetype-resources/pom.xml</include>
|
||||
<include>archetype-resources/run.sh</include>
|
||||
<include>archetype-resources/run.bat</include>
|
||||
<include>archetype-resources/debug.sh</include>
|
||||
<include>archetype-resources/debug.bat</include>
|
||||
<include>META-INF/maven/archetype-metadata.xml</include>
|
||||
</includes>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>archetype-resources/pom.xml</exclude>
|
||||
<exclude>archetype-resources/run.sh</exclude>
|
||||
<exclude>archetype-resources/run.bat</exclude>
|
||||
<exclude>archetype-resources/debug.sh</exclude>
|
||||
<exclude>archetype-resources/debug.bat</exclude>
|
||||
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
|
||||
</excludes>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>${maven.resource.version}</version>
|
||||
<configuration>
|
||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||
<delimiters>
|
||||
<delimiter>@@</delimiter>
|
||||
</delimiters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@@ -1,68 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archetype-descriptor
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
|
||||
name="Activiti JAR Archetype"
|
||||
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<requiredProperties>
|
||||
<requiredProperty key="version">
|
||||
<defaultValue>1.0-SNAPSHOT</defaultValue>
|
||||
</requiredProperty>
|
||||
</requiredProperties>
|
||||
|
||||
<fileSets>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/test/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/bpmn-models/**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>**/bpmn-models/**</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>log4j-dev.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<excludes>
|
||||
<exclude>log4j-dev.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/license</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory></directory>
|
||||
<includes>
|
||||
<include>debug.sh</include>
|
||||
<include>debug.bat</include>
|
||||
<include>run.sh</include>
|
||||
<include>run.bat</include>
|
||||
<include>README.md</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</archetype-descriptor>
|
||||
R
|
@@ -1,21 +0,0 @@
|
||||
# Alfresco Activiti JAR Module - SDK 3
|
||||
|
||||
To run use `mvn clean install alfresco:run` or `./run.sh` and verify that it
|
||||
|
||||
* Runs the embedded Tomcat + H2 DB
|
||||
* Runs Activiti Explorer
|
||||
* Optionally runs Activiti REST
|
||||
* Packages both a JAR with customization
|
||||
|
||||
# Few things to notice
|
||||
|
||||
* No parent pom
|
||||
* WAR assembly is handled by the Alfresco Maven Plugin configuration
|
||||
* 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`
|
||||
* [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
|
||||
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
set MAVEN_OPTS=-Xms1G -Xmx2G
|
||||
|
||||
mvnDebug clean install alfresco:run
|
||||
|
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms1G -Xmx2G" mvnDebug clean install alfresco:run
|
@@ -1,295 +0,0 @@
|
||||
<?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} Activiti Jar Module - SDK 3</name>
|
||||
<description>Activiti JAR Module that produces a JAR file with Java extensions such as service task delegates. It also produces an application ZIP with workflow definition, forms etc that can be deployed via /activiti-app - 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>
|
||||
|
||||
<!-- Base directory for all RDBMS data and Content data -->
|
||||
<activiti.datadir>${project.basedir}/activiti_data_dev</activiti.datadir>
|
||||
|
||||
<!-- Properties used in dependency declarations, you don't usually need to change these -->
|
||||
<activiti.groupId>com.activiti</activiti.groupId>
|
||||
<activiti.app.war.artifactId>activiti-app</activiti.app.war.artifactId> <!--This contains the Alfresco Activiti webapp, including the workflow engine. This webapp is also the user interface for people involved in the task and processes running in the Activiti engine. You also use this webapp to create and manage process definitions, and to display and define analytics reports on users' tasks and processes. -->
|
||||
<activiti.admin.war.artifactId>activiti-admin</activiti.admin.war.artifactId> <!-- This contains the Alfresco Activiti Administrator webapp. You use this to administer and monitor your Alfresco Activiti engines.-->
|
||||
|
||||
<!-- The version of the Alfresco Activiti Enterprise Workflow Engine that the customization will run in -->
|
||||
<activiti.version>1.5.1</activiti.version>
|
||||
|
||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||
<jrebel.version>1.1.6</jrebel.version>
|
||||
|
||||
<!-- Compile with Java 7, default is 5 -->
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- The main Activiti Enterprise application dependency that brings in all
|
||||
needed classes to compile your customizations -->
|
||||
<dependency>
|
||||
<groupId>${activiti.groupId}</groupId>
|
||||
<artifactId>activiti-app-logic</artifactId>
|
||||
<version>${activiti.version}</version>
|
||||
<exclusions>
|
||||
<!-- Exclude the SLF4J JAR so we don't get multiple binding warnings when running -->
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Testing -->
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.11</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- Logging, maybe needed for testing....
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<version>1.7.5</version>
|
||||
</dependency>
|
||||
-->
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Create the BAR with project process definitions, forms etc -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>create-app-zip</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<zip destfile="${project.build.directory}/${project.artifactId}-app-${project.version}.zip">
|
||||
<fileset dir="src/main/resources/apps/helloworld">
|
||||
<include name="**"/>
|
||||
</fileset>
|
||||
</zip>
|
||||
</tasks>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!--
|
||||
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>
|
||||
<!-- We need the flat file H2 database to run Activiti -->
|
||||
<enableH2>true</enableH2>
|
||||
|
||||
<!-- Bring in the Activiti Workflow Engine and Management webapp (i.e. activiti-app.war) -->
|
||||
<enableActivitiApp>true</enableActivitiApp>
|
||||
|
||||
<!-- Optionally bring in the Activiti Admin App (i.e. activiti-admin.war) -->
|
||||
<enableActivitiAdmin>false</enableActivitiAdmin>
|
||||
|
||||
<!-- Disable all Alfresco ECM apps by default -->
|
||||
<alfrescoEdition>community</alfrescoEdition>
|
||||
<enablePlatform>false</enablePlatform>
|
||||
<enableSolr>false</enableSolr>
|
||||
<enableShare>false</enableShare>
|
||||
|
||||
<!--
|
||||
JARs that should be overlayed/applied to the Activiti App WAR
|
||||
(i.e. activiti-app.war)
|
||||
-->
|
||||
<activitiModules>
|
||||
<!-- 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>
|
||||
</activitiModules>
|
||||
</configuration>
|
||||
</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>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.1</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>
|
||||
</plugins>
|
||||
|
||||
<resources>
|
||||
<!-- Filter the resource files in this project and do property substitutions -->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
<!-- The Project JAR Should not contain any process definition stuff,
|
||||
it cannot be deployed via JAR in Activiti Enterprise -->
|
||||
<excludes>
|
||||
<exclude>apps/**</exclude>
|
||||
</excludes>
|
||||
</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>
|
||||
<!-- Copy over the Activiti license to the classpath -->
|
||||
<testResource>
|
||||
<directory>src/test/license</directory>
|
||||
<filtering>false</filtering>
|
||||
</testResource>
|
||||
</testResources>
|
||||
</build>
|
||||
|
||||
<!--
|
||||
Alfresco Maven Repositories
|
||||
-->
|
||||
<repositories>
|
||||
<!-- Alfresco ECM -->
|
||||
<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>
|
||||
|
||||
<!-- Activiti BPM -->
|
||||
<repository>
|
||||
<id>activiti-public</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>activiti-public-snapshots</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<!-- Activiti Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||
<repository>
|
||||
<id>activiti-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-enterprise-releases</url>
|
||||
</repository>
|
||||
</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 +0,0 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
set MAVEN_OPTS=-Xms1G -Xmx2G
|
||||
|
||||
mvn clean install alfresco:run
|
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms1G -Xmx2G" mvn clean install alfresco:run
|
@@ -1,38 +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}.tasks.service;
|
||||
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.JavaDelegate;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* A sample service task Java implementation
|
||||
*
|
||||
* @author martin.bergljung@alfresco.com
|
||||
*/
|
||||
public class HelloWorldServiceTask implements JavaDelegate {
|
||||
private static Logger logger = LoggerFactory.getLogger(HelloWorldServiceTask.class);
|
||||
|
||||
public void execute(DelegateExecution execution) throws Exception {
|
||||
logger.debug("Hello World from the Java Service Task!");
|
||||
}
|
||||
}
|
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"models": [
|
||||
{
|
||||
"id": 2005,
|
||||
"name": "Hello World",
|
||||
"version": 1,
|
||||
"modelType": 0,
|
||||
"description": "The Hello World business process that is part of the Alfresco SDK 3.0 Activiti JAR Module Maven archetype",
|
||||
"stencilSetId": 0,
|
||||
"createdByFullName": " Administrator",
|
||||
"createdBy": 1,
|
||||
"lastUpdatedByFullName": " Administrator",
|
||||
"lastUpdatedBy": 1,
|
||||
"lastUpdated": "2016-09-29T12:38:13.716+0000"
|
||||
}
|
||||
],
|
||||
"theme": "theme-1",
|
||||
"icon": "glyphicon-cog",
|
||||
"publishIdentityInfo": []
|
||||
}
|
@@ -1,141 +0,0 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
<?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:xsd="http://www.w3.org/2001/XMLSchema" 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/processdef" xmlns:modeler="http://activiti.com/modeler"
|
||||
modeler:version="1.0en" modeler:exportDateTime="20160930093425488" modeler:modelId="2005"
|
||||
modeler:modelVersion="11" modeler:modelLastUpdated="1475224420676">
|
||||
<process id="HelloWorld" name="Hello World" isExecutable="true">
|
||||
<documentation>The Hello World business process that is part of the Alfresco SDK 3.0 Activiti JAR Module Maven
|
||||
archetype
|
||||
</documentation>
|
||||
|
||||
<startEvent id="startHelloWorld" activiti:formKey="2006">
|
||||
<extensionElements>
|
||||
<modeler:form-reference-id><![CDATA[2006]]></modeler:form-reference-id>
|
||||
<modeler:form-reference-name><![CDATA[Hello World Start]]></modeler:form-reference-name>
|
||||
<modeler:editor-resource-id><![CDATA[startEvent1]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</startEvent>
|
||||
|
||||
<sequenceFlow id="sid-4A014247-BF0C-436D-B3CE-EA297F2A18FA" sourceRef="startHelloWorld"
|
||||
targetRef="decideGreeting">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-4A014247-BF0C-436D-B3CE-EA297F2A18FA]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</sequenceFlow>
|
||||
|
||||
<serviceTask id="decideGreeting" name="Decide greeting"
|
||||
activiti:delegateExpression="${activiti_executeDecisionDelegate}">
|
||||
<extensionElements>
|
||||
<activiti:field name="decisionTableReferenceKey">
|
||||
<activiti:string><![CDATA[DecideWhatGreeting]]></activiti:string>
|
||||
</activiti:field>
|
||||
<modeler:decisiontable-reference modeler:decisiontablereferenceid="2007"
|
||||
modeler:decisiontablereferencename="Decide What Greeting"/>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-B4E2D526-60B7-47B9-856C-FC824DA15708]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</serviceTask>
|
||||
|
||||
<sequenceFlow id="sid-E8B736FE-874D-4EDF-85A6-8B602F1503FD" sourceRef="decideGreeting"
|
||||
targetRef="printGreetingFromJava">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-E8B736FE-874D-4EDF-85A6-8B602F1503FD]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</sequenceFlow>
|
||||
|
||||
<serviceTask id="printGreetingFromJava" name="Print Greeting From Java"
|
||||
activiti:class="${package}.tasks.service.HelloWorldServiceTask">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-61E86F19-FC5F-4814-B9AB-2394B03171D6]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</serviceTask>
|
||||
|
||||
<sequenceFlow id="sid-AD10A830-F8B1-4DBA-9C48-DFD5136E3810" sourceRef="printGreetingFromJava"
|
||||
targetRef="sid-68AE120D-AB55-4ED2-AFD5-845139236AD3">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-AD10A830-F8B1-4DBA-9C48-DFD5136E3810]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</sequenceFlow>
|
||||
|
||||
<scriptTask id="sid-68AE120D-AB55-4ED2-AFD5-845139236AD3" name="Print Greeting from JS"
|
||||
scriptFormat="JavaScript" activiti:autoStoreVariables="false">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-68AE120D-AB55-4ED2-AFD5-845139236AD3]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
<script><![CDATA[print("Hello World from JavaScript task:");
|
||||
var userId = initiator;
|
||||
print(dayGreeting + " " + userInfoBean.getUser(userId).getFullName());
|
||||
print("You entered '" + greeting + "' as a greeting text.");
|
||||
]]></script>
|
||||
</scriptTask>
|
||||
|
||||
<sequenceFlow id="sid-6105A21B-6A76-41EC-B88E-78B3BE4A826F" sourceRef="sid-68AE120D-AB55-4ED2-AFD5-845139236AD3"
|
||||
targetRef="endHelloWorld">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-6105A21B-6A76-41EC-B88E-78B3BE4A826F]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
</sequenceFlow>
|
||||
|
||||
<endEvent id="endHelloWorld">
|
||||
<extensionElements>
|
||||
<modeler:editor-resource-id>
|
||||
<![CDATA[sid-9F0B5A13-7D1F-4ADF-8A08-7B9F0D851DA6]]></modeler:editor-resource-id>
|
||||
</extensionElements>
|
||||
<terminateEventDefinition/>
|
||||
</endEvent>
|
||||
</process>
|
||||
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_HelloWorld">
|
||||
<bpmndi:BPMNPlane bpmnElement="HelloWorld" id="BPMNPlane_HelloWorld">
|
||||
<bpmndi:BPMNShape bpmnElement="startHelloWorld" id="BPMNShape_startHelloWorld">
|
||||
<omgdc:Bounds height="30.0" width="30.0" x="90.0" y="190.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="decideGreeting" id="BPMNShape_decideGreeting">
|
||||
<omgdc:Bounds height="80.0" width="100.0" x="210.0" y="165.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="sid-68AE120D-AB55-4ED2-AFD5-845139236AD3"
|
||||
id="BPMNShape_sid-68AE120D-AB55-4ED2-AFD5-845139236AD3">
|
||||
<omgdc:Bounds height="80.0" width="100.0" x="675.0" y="165.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="endHelloWorld" id="BPMNShape_endHelloWorld">
|
||||
<omgdc:Bounds height="28.0" width="28.0" x="915.0" y="191.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape bpmnElement="printGreetingFromJava" id="BPMNShape_printGreetingFromJava">
|
||||
<omgdc:Bounds height="80.0" width="100.0" x="443.0" y="165.0"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge bpmnElement="sid-AD10A830-F8B1-4DBA-9C48-DFD5136E3810"
|
||||
id="BPMNEdge_sid-AD10A830-F8B1-4DBA-9C48-DFD5136E3810">
|
||||
<omgdi:waypoint x="543.0" y="205.0"/>
|
||||
<omgdi:waypoint x="675.0" y="205.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sid-4A014247-BF0C-436D-B3CE-EA297F2A18FA"
|
||||
id="BPMNEdge_sid-4A014247-BF0C-436D-B3CE-EA297F2A18FA">
|
||||
<omgdi:waypoint x="120.0" y="205.0"/>
|
||||
<omgdi:waypoint x="210.0" y="205.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sid-E8B736FE-874D-4EDF-85A6-8B602F1503FD"
|
||||
id="BPMNEdge_sid-E8B736FE-874D-4EDF-85A6-8B602F1503FD">
|
||||
<omgdi:waypoint x="310.0" y="205.0"/>
|
||||
<omgdi:waypoint x="443.0" y="205.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge bpmnElement="sid-6105A21B-6A76-41EC-B88E-78B3BE4A826F"
|
||||
id="BPMNEdge_sid-6105A21B-6A76-41EC-B88E-78B3BE4A826F">
|
||||
<omgdi:waypoint x="775.0" y="205.0"/>
|
||||
<omgdi:waypoint x="915.0" y="205.0"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</definitions>
|
@@ -1,403 +0,0 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
{
|
||||
"resourceId": 2005,
|
||||
"properties": {
|
||||
"process_id": "HelloWorld",
|
||||
"name": "Hello World",
|
||||
"documentation": "The Hello World business process that is part of the Alfresco SDK 3.0 Activiti JAR Module Maven archetype",
|
||||
"process_author": "",
|
||||
"process_version": "",
|
||||
"process_namespace": "http://www.activiti.org/processdef",
|
||||
"executionlisteners": "",
|
||||
"eventlisteners": "",
|
||||
"signaldefinitions": "",
|
||||
"messagedefinitions": "",
|
||||
"executionvariables": "",
|
||||
"metadata": ""
|
||||
},
|
||||
"stencil": {
|
||||
"id": "BPMNDiagram"
|
||||
},
|
||||
"childShapes": [
|
||||
{
|
||||
"resourceId": "startEvent1",
|
||||
"properties": {
|
||||
"overrideid": "startHelloWorld",
|
||||
"name": "",
|
||||
"documentation": "",
|
||||
"executionlisteners": "",
|
||||
"initiator": "",
|
||||
"formkeydefinition": "",
|
||||
"formreference": {
|
||||
"id": 2006,
|
||||
"name": "Hello World Start",
|
||||
"referenceId": 2005,
|
||||
"variablesmapping": []
|
||||
},
|
||||
"fieldstovariables": "",
|
||||
"formproperties": ""
|
||||
},
|
||||
"stencil": {
|
||||
"id": "StartNoneEvent"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-4A014247-BF0C-436D-B3CE-EA297F2A18FA"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 120,
|
||||
"y": 220
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 90,
|
||||
"y": 190
|
||||
}
|
||||
},
|
||||
"dockers": []
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-B4E2D526-60B7-47B9-856C-FC824DA15708",
|
||||
"properties": {
|
||||
"overrideid": "decideGreeting",
|
||||
"name": "Decide greeting",
|
||||
"documentation": "",
|
||||
"asynchronousdefinition": "false",
|
||||
"exclusivedefinition": "false",
|
||||
"executionlisteners": "",
|
||||
"multiinstance_type": "None",
|
||||
"multiinstance_cardinality": "",
|
||||
"multiinstance_collection": "",
|
||||
"multiinstance_variable": "",
|
||||
"multiinstance_condition": "",
|
||||
"isforcompensation": "false",
|
||||
"decisiontaskdecisiontablereference": {
|
||||
"id": 2007,
|
||||
"name": "Decide What Greeting",
|
||||
"referenceId": 2005,
|
||||
"variablesmapping": []
|
||||
}
|
||||
},
|
||||
"stencil": {
|
||||
"id": "DecisionTask"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-E8B736FE-874D-4EDF-85A6-8B602F1503FD"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 310,
|
||||
"y": 245
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 210,
|
||||
"y": 165
|
||||
}
|
||||
},
|
||||
"dockers": []
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-4A014247-BF0C-436D-B3CE-EA297F2A18FA",
|
||||
"properties": {
|
||||
"overrideid": "",
|
||||
"name": "",
|
||||
"documentation": "",
|
||||
"conditionsequenceflow": "",
|
||||
"executionlisteners": "",
|
||||
"defaultflow": "false"
|
||||
},
|
||||
"stencil": {
|
||||
"id": "SequenceFlow"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-B4E2D526-60B7-47B9-856C-FC824DA15708"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 209.3515625,
|
||||
"y": 205
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 120.53125,
|
||||
"y": 205
|
||||
}
|
||||
},
|
||||
"dockers": [
|
||||
{
|
||||
"x": 15,
|
||||
"y": 15
|
||||
},
|
||||
{
|
||||
"x": 50,
|
||||
"y": 40
|
||||
}
|
||||
],
|
||||
"target": {
|
||||
"resourceId": "sid-B4E2D526-60B7-47B9-856C-FC824DA15708"
|
||||
}
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-68AE120D-AB55-4ED2-AFD5-845139236AD3",
|
||||
"properties": {
|
||||
"scriptformat": "JavaScript",
|
||||
"scripttext": "print(\"Hello World from JavaScript task:\");\nvar userId = initiator;\nprint(dayGreeting + \" \" + userInfoBean.getUser(userId).getFullName());\nprint(\"You entered '\" + greeting + \"' as a greeting text.\");\n",
|
||||
"executionvariables": "",
|
||||
"overrideid": "",
|
||||
"name": "Print Greeting from JS",
|
||||
"documentation": "",
|
||||
"asynchronousdefinition": "false",
|
||||
"exclusivedefinition": "false",
|
||||
"executionlisteners": "",
|
||||
"multiinstance_type": "None",
|
||||
"multiinstance_cardinality": "",
|
||||
"multiinstance_collection": "",
|
||||
"multiinstance_variable": "",
|
||||
"multiinstance_condition": "",
|
||||
"isforcompensation": "false"
|
||||
},
|
||||
"stencil": {
|
||||
"id": "ScriptTask"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-6105A21B-6A76-41EC-B88E-78B3BE4A826F"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 775,
|
||||
"y": 245
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 675,
|
||||
"y": 165
|
||||
}
|
||||
},
|
||||
"dockers": []
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-9F0B5A13-7D1F-4ADF-8A08-7B9F0D851DA6",
|
||||
"properties": {
|
||||
"overrideid": "endHelloWorld",
|
||||
"name": "",
|
||||
"documentation": "",
|
||||
"executionlisteners": ""
|
||||
},
|
||||
"stencil": {
|
||||
"id": "EndTerminateEvent"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 943,
|
||||
"y": 219
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 915,
|
||||
"y": 191
|
||||
}
|
||||
},
|
||||
"dockers": []
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-6105A21B-6A76-41EC-B88E-78B3BE4A826F",
|
||||
"properties": {
|
||||
"overrideid": "",
|
||||
"name": "",
|
||||
"documentation": "",
|
||||
"conditionsequenceflow": "",
|
||||
"executionlisteners": "",
|
||||
"defaultflow": "false"
|
||||
},
|
||||
"stencil": {
|
||||
"id": "SequenceFlow"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-9F0B5A13-7D1F-4ADF-8A08-7B9F0D851DA6"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 914.453125,
|
||||
"y": 205
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 775.40625,
|
||||
"y": 205
|
||||
}
|
||||
},
|
||||
"dockers": [
|
||||
{
|
||||
"x": 50,
|
||||
"y": 40
|
||||
},
|
||||
{
|
||||
"x": 14,
|
||||
"y": 14
|
||||
}
|
||||
],
|
||||
"target": {
|
||||
"resourceId": "sid-9F0B5A13-7D1F-4ADF-8A08-7B9F0D851DA6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-61E86F19-FC5F-4814-B9AB-2394B03171D6",
|
||||
"properties": {
|
||||
"overrideid": "printGreetingFromJava",
|
||||
"name": "Print Greeting From Java",
|
||||
"documentation": "",
|
||||
"asynchronousdefinition": "false",
|
||||
"exclusivedefinition": "false",
|
||||
"executionlisteners": "",
|
||||
"multiinstance_type": "None",
|
||||
"multiinstance_cardinality": "",
|
||||
"multiinstance_collection": "",
|
||||
"multiinstance_variable": "",
|
||||
"multiinstance_condition": "",
|
||||
"isforcompensation": "false",
|
||||
"servicetaskclass": "${package}.tasks.service.HelloWorldServiceTask",
|
||||
"servicetaskexpression": "",
|
||||
"servicetaskdelegateexpression": "",
|
||||
"servicetaskfields": "",
|
||||
"servicetaskresultvariable": "",
|
||||
"executionvariables": ""
|
||||
},
|
||||
"stencil": {
|
||||
"id": "ServiceTask"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-AD10A830-F8B1-4DBA-9C48-DFD5136E3810"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 543,
|
||||
"y": 245
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 443,
|
||||
"y": 165
|
||||
}
|
||||
},
|
||||
"dockers": []
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-AD10A830-F8B1-4DBA-9C48-DFD5136E3810",
|
||||
"properties": {
|
||||
"overrideid": "",
|
||||
"name": "",
|
||||
"documentation": "",
|
||||
"conditionsequenceflow": "",
|
||||
"executionlisteners": "",
|
||||
"defaultflow": "false"
|
||||
},
|
||||
"stencil": {
|
||||
"id": "SequenceFlow"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-68AE120D-AB55-4ED2-AFD5-845139236AD3"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 674.15625,
|
||||
"y": 205
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 543.84375,
|
||||
"y": 205
|
||||
}
|
||||
},
|
||||
"dockers": [
|
||||
{
|
||||
"x": 50,
|
||||
"y": 40
|
||||
},
|
||||
{
|
||||
"x": 50,
|
||||
"y": 40
|
||||
}
|
||||
],
|
||||
"target": {
|
||||
"resourceId": "sid-68AE120D-AB55-4ED2-AFD5-845139236AD3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"resourceId": "sid-E8B736FE-874D-4EDF-85A6-8B602F1503FD",
|
||||
"properties": {
|
||||
"overrideid": "",
|
||||
"name": "",
|
||||
"documentation": "",
|
||||
"conditionsequenceflow": "",
|
||||
"executionlisteners": "",
|
||||
"defaultflow": "false",
|
||||
"showdiamondmarker": false
|
||||
},
|
||||
"stencil": {
|
||||
"id": "SequenceFlow"
|
||||
},
|
||||
"childShapes": [],
|
||||
"outgoing": [
|
||||
{
|
||||
"resourceId": "sid-61E86F19-FC5F-4814-B9AB-2394B03171D6"
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 443,
|
||||
"y": 205
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 310.59375,
|
||||
"y": 205
|
||||
}
|
||||
},
|
||||
"dockers": [
|
||||
{
|
||||
"x": 50,
|
||||
"y": 40
|
||||
},
|
||||
{
|
||||
"x": 1,
|
||||
"y": 40
|
||||
}
|
||||
],
|
||||
"target": {
|
||||
"resourceId": "sid-61E86F19-FC5F-4814-B9AB-2394B03171D6"
|
||||
}
|
||||
}
|
||||
],
|
||||
"bounds": {
|
||||
"lowerRight": {
|
||||
"x": 1200,
|
||||
"y": 1050
|
||||
},
|
||||
"upperLeft": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
}
|
||||
},
|
||||
"stencilset": {
|
||||
"url": "stencilsets/bpmn2.0/bpmn2.0.json",
|
||||
"namespace": "http://b3mn.org/stencilset/bpmn2.0#"
|
||||
},
|
||||
"ssextensions": []
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,53 +0,0 @@
|
||||
{
|
||||
"referenceId": 2005,
|
||||
"name": "Decide What Greeting",
|
||||
"description": "Decide, depending on time of day, what greeting to display.",
|
||||
"editorJson": {
|
||||
"id": 2007,
|
||||
"name": "Decide What Greeting",
|
||||
"key": "DecideWhatGreeting",
|
||||
"description": "Decide, depending on time of day, what greeting to display.",
|
||||
"hitIndicator": "FIRST",
|
||||
"inputExpressions": [
|
||||
{
|
||||
"id": "3",
|
||||
"variableId": "timeofday",
|
||||
"variableType": "formfield",
|
||||
"type": "string",
|
||||
"label": "Time of day",
|
||||
"entries": null,
|
||||
"newVariable": false
|
||||
}
|
||||
],
|
||||
"outputExpressions": [
|
||||
{
|
||||
"id": "4",
|
||||
"variableId": "dayGreeting",
|
||||
"variableType": "variable",
|
||||
"type": "string",
|
||||
"label": "DayGreeting",
|
||||
"entries": null,
|
||||
"newVariable": true
|
||||
}
|
||||
],
|
||||
"rules": [
|
||||
{
|
||||
"3": "== \"time_of_day_morning\"",
|
||||
"4": "\"Good Morning!\""
|
||||
},
|
||||
{
|
||||
"3": "== \"time_of_day_lunch\"",
|
||||
"4": "\"Good Day!\""
|
||||
},
|
||||
{
|
||||
"3": "== \"time_of_day_dinner\"",
|
||||
"4": "\"Good Evening!\""
|
||||
},
|
||||
{
|
||||
"3": "== \"time_of_day_night\"",
|
||||
"4": "\"Good Night!\""
|
||||
}
|
||||
],
|
||||
"executionVariables": []
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
@@ -1,201 +0,0 @@
|
||||
{
|
||||
"referenceId": 2005,
|
||||
"name": "Hello World Start",
|
||||
"description": "The form for the Start task in the Hello World business process.",
|
||||
"editorJson": {
|
||||
"tabs": [],
|
||||
"fields": [
|
||||
{
|
||||
"fieldType": "ContainerRepresentation",
|
||||
"id": "1475149613209",
|
||||
"name": "Label",
|
||||
"type": "container",
|
||||
"value": null,
|
||||
"required": false,
|
||||
"readOnly": false,
|
||||
"overrideId": false,
|
||||
"colspan": 1,
|
||||
"placeholder": null,
|
||||
"minLength": 0,
|
||||
"maxLength": 0,
|
||||
"minValue": null,
|
||||
"maxValue": null,
|
||||
"regexPattern": null,
|
||||
"optionType": null,
|
||||
"hasEmptyValue": null,
|
||||
"options": null,
|
||||
"restUrl": null,
|
||||
"restResponsePath": null,
|
||||
"restIdProperty": null,
|
||||
"restLabelProperty": null,
|
||||
"tab": null,
|
||||
"className": null,
|
||||
"dateDisplayFormat": null,
|
||||
"layout": null,
|
||||
"sizeX": 2,
|
||||
"sizeY": 1,
|
||||
"row": -1,
|
||||
"col": -1,
|
||||
"visibilityCondition": null,
|
||||
"numberOfColumns": 2,
|
||||
"fields": {
|
||||
"1": [
|
||||
{
|
||||
"fieldType": "FormFieldRepresentation",
|
||||
"id": "greeting",
|
||||
"name": "Greeting",
|
||||
"type": "text",
|
||||
"value": null,
|
||||
"required": true,
|
||||
"readOnly": false,
|
||||
"overrideId": false,
|
||||
"colspan": 1,
|
||||
"placeholder": null,
|
||||
"minLength": 0,
|
||||
"maxLength": 0,
|
||||
"minValue": null,
|
||||
"maxValue": null,
|
||||
"regexPattern": null,
|
||||
"optionType": null,
|
||||
"hasEmptyValue": null,
|
||||
"options": null,
|
||||
"restUrl": null,
|
||||
"restResponsePath": null,
|
||||
"restIdProperty": null,
|
||||
"restLabelProperty": null,
|
||||
"tab": null,
|
||||
"className": null,
|
||||
"params": {
|
||||
"existingColspan": 1,
|
||||
"maxColspan": 2
|
||||
},
|
||||
"dateDisplayFormat": null,
|
||||
"layout": {
|
||||
"row": -1,
|
||||
"column": -1,
|
||||
"colspan": 1
|
||||
},
|
||||
"sizeX": 1,
|
||||
"sizeY": 1,
|
||||
"row": -1,
|
||||
"col": -1,
|
||||
"visibilityCondition": null
|
||||
}
|
||||
],
|
||||
"2": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"fieldType": "ContainerRepresentation",
|
||||
"id": "1475149862241",
|
||||
"name": "Label",
|
||||
"type": "container",
|
||||
"value": null,
|
||||
"required": false,
|
||||
"readOnly": false,
|
||||
"overrideId": false,
|
||||
"colspan": 1,
|
||||
"placeholder": null,
|
||||
"minLength": 0,
|
||||
"maxLength": 0,
|
||||
"minValue": null,
|
||||
"maxValue": null,
|
||||
"regexPattern": null,
|
||||
"optionType": null,
|
||||
"hasEmptyValue": null,
|
||||
"options": null,
|
||||
"restUrl": null,
|
||||
"restResponsePath": null,
|
||||
"restIdProperty": null,
|
||||
"restLabelProperty": null,
|
||||
"tab": null,
|
||||
"className": null,
|
||||
"dateDisplayFormat": null,
|
||||
"layout": null,
|
||||
"sizeX": 2,
|
||||
"sizeY": 1,
|
||||
"row": -1,
|
||||
"col": -1,
|
||||
"visibilityCondition": null,
|
||||
"numberOfColumns": 2,
|
||||
"fields": {
|
||||
"1": [
|
||||
{
|
||||
"fieldType": "RestFieldRepresentation",
|
||||
"id": "timeofday",
|
||||
"name": "Time of Day",
|
||||
"type": "dropdown",
|
||||
"value": "Choose one...",
|
||||
"required": false,
|
||||
"readOnly": false,
|
||||
"overrideId": false,
|
||||
"colspan": 1,
|
||||
"placeholder": null,
|
||||
"minLength": 0,
|
||||
"maxLength": 0,
|
||||
"minValue": null,
|
||||
"maxValue": null,
|
||||
"regexPattern": null,
|
||||
"optionType": null,
|
||||
"hasEmptyValue": true,
|
||||
"options": [
|
||||
{
|
||||
"id": "empty",
|
||||
"name": "Choose one..."
|
||||
},
|
||||
{
|
||||
"id": "time_of_day_morning",
|
||||
"name": "Morning"
|
||||
},
|
||||
{
|
||||
"id": "time_of_day_lunch",
|
||||
"name": "Lunch"
|
||||
},
|
||||
{
|
||||
"id": "time_of_day_dinner",
|
||||
"name": "Dinner"
|
||||
},
|
||||
{
|
||||
"id": "time_of_day_night",
|
||||
"name": "Night"
|
||||
}
|
||||
],
|
||||
"restUrl": null,
|
||||
"restResponsePath": null,
|
||||
"restIdProperty": null,
|
||||
"restLabelProperty": null,
|
||||
"tab": null,
|
||||
"className": null,
|
||||
"params": {
|
||||
"existingColspan": 1,
|
||||
"maxColspan": 2
|
||||
},
|
||||
"dateDisplayFormat": null,
|
||||
"layout": {
|
||||
"row": -1,
|
||||
"column": -1,
|
||||
"colspan": 1
|
||||
},
|
||||
"sizeX": 1,
|
||||
"sizeY": 1,
|
||||
"row": -1,
|
||||
"col": -1,
|
||||
"visibilityCondition": null,
|
||||
"endpoint": null,
|
||||
"requestHeaders": null
|
||||
}
|
||||
],
|
||||
"2": []
|
||||
}
|
||||
}
|
||||
],
|
||||
"outcomes": [],
|
||||
"javascriptEvents": [],
|
||||
"className": "",
|
||||
"style": "",
|
||||
"customFieldTemplates": {},
|
||||
"metadata": {},
|
||||
"variables": [],
|
||||
"gridsterForm": false
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 1.9 KiB |
@@ -1,9 +0,0 @@
|
||||
# Enterprise License location
|
||||
|
||||
Put the Activiti Enterprise license file (activiti.lic) in this directory.
|
||||
It will then be copied into the WAR..............
|
||||
|
||||
And then not be part of any other classpaths.
|
||||
|
||||
|
||||
|
@@ -1,35 +0,0 @@
|
||||
server.onpremise=true
|
||||
server.stencil.custom.allowed=true
|
||||
server.contextroot=/activiti-app
|
||||
|
||||
# Database connection
|
||||
datasource.driver=org.h2.Driver
|
||||
datasource.url=jdbc:h2:${activiti.datadir}/h2/activiti;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
||||
datasource.username=alfresco
|
||||
datasource.password=alfresco
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# Elastic Search server config for historical process data
|
||||
elastic-search.server.type=none
|
||||
elastic-search.cluster.name=activiti-elastic-search-cluster-dev
|
||||
elastic-search.enable.http=true
|
||||
elastic-search.data.path=${activiti.datadir}/es
|
||||
|
||||
event.generation.enabled=true
|
||||
event.processing.enabled=true
|
||||
|
||||
# Administrator login username = email
|
||||
admin.email=admin@app.activiti.com
|
||||
# koala
|
||||
admin.passwordHash=4efe081594ce25ee4efd9f7067f7f678a347bccf2de201f3adf2a3eb544850b465b4e51cdc3fcdde
|
||||
admin.lastname=Administrator
|
||||
admin.group=Superusers
|
||||
|
||||
# Where to store any uploaded files
|
||||
contentstorage.fs.rootFolder=${activiti.datadir}/contentstore
|
||||
contentstorage.fs.createRoot=true
|
||||
contentstorage.fs.depth=4
|
||||
contentstorage.fs.blockSize=1024
|
||||
|
||||
# Disable Cross-Site-Request-Forgery (CSRF) protection, so we can access from other client app via REST
|
||||
security.csrf.disabled=true
|
@@ -1,3 +0,0 @@
|
||||
ldap.authentication.enabled=false
|
||||
ldap.synchronization.full.enabled=false
|
||||
ldap.synchronization.differential.enabled=false
|
@@ -1,40 +0,0 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
|
||||
# This file is copied (with RunMojo) into target/activitiApp-war/WEB-INF/classes dir before webapp deployment
|
||||
#
|
||||
|
||||
log4j.rootLogger=INFO, CA, File
|
||||
|
||||
# ConsoleAppender
|
||||
log4j.appender.CA=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
|
||||
|
||||
# File Appender
|
||||
log4j.appender.File=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.File.File=${project.build.directory}/activiti.log
|
||||
log4j.appender.File.threshold=INFO
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{ISO8601} %-5p [%c] %m%n
|
||||
log4j.appender.File.MaxFileSize=100MB
|
||||
log4j.appender.File.MaxBackupIndex=1
|
||||
|
||||
# Custom tweaks
|
||||
log4j.logger.org.apache.ibatis.level=INFO
|
||||
log4j.logger.javax.activation.level=INFO
|
||||
log4j.logger.com.codahale.metrics=WARN
|
||||
log4j.logger.com.ryantenney=WARN
|
||||
log4j.logger.com.zaxxer=WARN
|
||||
log4j.logger.org.apache=WARN
|
||||
log4j.logger.org.hibernate=WARN
|
||||
log4j.logger.org.hibernate.engine.internal=WARN
|
||||
log4j.logger.org.hibernate.validator=WARN
|
||||
log4j.logger.org.springframework=WARN
|
||||
log4j.logger.org.springframework.web=WARN
|
||||
log4j.logger.org.springframework.security=WARN
|
||||
|
||||
|
||||
# Custom classes logging
|
||||
log4j.logger.${package}.tasks.service=DEBUG
|
@@ -1,6 +0,0 @@
|
||||
log4j.rootLogger=WARN, CA
|
||||
|
||||
# ConsoleAppender
|
||||
log4j.appender.CA=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
|
@@ -1,5 +0,0 @@
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=activitiJARTest
|
||||
package=it.pkg
|
||||
|
@@ -1 +0,0 @@
|
||||
verify
|
@@ -1,4 +0,0 @@
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=activitiJARTestRun
|
||||
package=it.pkg
|
@@ -1 +0,0 @@
|
||||
verify alfresco:run -Dmaven.tomcat.fork=true
|
@@ -6,15 +6,15 @@
|
||||
<artifactId>alfresco-allinone-archetype</artifactId>
|
||||
<packaging>maven-archetype</packaging>
|
||||
<name>Alfresco SDK - All-in-One Archetype</name>
|
||||
<description>Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for Platform/Repository JAR and Share JAR</description>
|
||||
|
||||
<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-5</version>
|
||||
<version>4.0.0</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
@@ -23,8 +23,6 @@
|
||||
<include>archetype-resources/pom.xml</include>
|
||||
<include>archetype-resources/run.sh</include>
|
||||
<include>archetype-resources/run.bat</include>
|
||||
<include>archetype-resources/debug.sh</include>
|
||||
<include>archetype-resources/debug.bat</include>
|
||||
<include>META-INF/maven/archetype-metadata.xml</include>
|
||||
</includes>
|
||||
<filtering>true</filtering>
|
||||
@@ -35,8 +33,6 @@
|
||||
<exclude>archetype-resources/pom.xml</exclude>
|
||||
<exclude>archetype-resources/run.sh</exclude>
|
||||
<exclude>archetype-resources/run.bat</exclude>
|
||||
<exclude>archetype-resources/debug.sh</exclude>
|
||||
<exclude>archetype-resources/debug.bat</exclude>
|
||||
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
|
||||
</excludes>
|
||||
<filtering>false</filtering>
|
||||
@@ -47,12 +43,12 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>${maven.resource.version}</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,9 +10,9 @@
|
||||
</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>
|
||||
@@ -50,9 +50,9 @@
|
||||
</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>
|
||||
@@ -96,41 +96,94 @@
|
||||
</fileSet>
|
||||
</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>**/*.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" filtered="true">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**/dev-log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/dev-log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/license</directory>
|
||||
<directory>docker</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8">
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory></directory>
|
||||
<includes>
|
||||
<include>debug.sh</include>
|
||||
<include>debug.bat</include>
|
||||
<include>.gitignore</include>
|
||||
<include>run.sh</include>
|
||||
<include>run.bat</include>
|
||||
<include>README.md</include>
|
||||
|
38
archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/.gitignore
vendored
Normal file
38
archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/.gitignore
vendored
Normal file
@@ -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.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.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
|
||||
|
||||
|
||||
|
||||
|
@@ -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.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,18 @@
|
||||
FROM ${docker.acs.image}:${alfresco.platform.version}
|
||||
|
||||
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||
|
||||
# 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-log4j.properties $TOMCAT_DIR/shared/classes/alfresco/extension
|
||||
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
|
||||
|
||||
# Copy Dockerfile to avoid an error if no license file exists
|
||||
COPY Dockerfile license/*.* $TOMCAT_DIR/webapps/alfresco/WEB-INF/classes/alfresco/extension/license/
|
@@ -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,14 +18,12 @@
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
#
|
||||
# Alfresco configuration for running locally with PostgreSQL Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# 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
|
||||
@@ -33,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
|
||||
@@ -60,13 +53,30 @@ integrity.failOnError=true
|
||||
# Alfresco Repository PostgreSQL Database configuration.
|
||||
# The PostgreSQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=org.postgresql.Driver
|
||||
db.url=jdbc:postgresql://localhost:5432/alfrescoaio
|
||||
|
||||
# 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=none
|
||||
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
|
||||
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
|
@@ -4,7 +4,6 @@
|
||||
# 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
|
||||
@@ -14,7 +13,6 @@ log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
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
|
||||
@@ -22,13 +20,11 @@ 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
|
||||
@@ -64,8 +60,7 @@ 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
|
||||
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
||||
|
||||
# Alfresco
|
||||
log4j.logger.org.alfresco=error
|
||||
@@ -215,7 +210,6 @@ 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
|
||||
@@ -271,3 +265,6 @@ log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistenc
|
||||
#-----------------------------------------------------------------------
|
||||
log4j.logger.${package}.platformsample.DemoComponent=debug
|
||||
log4j.logger.${package}.platformsample.HelloWorldWebScript=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,21 +0,0 @@
|
||||
# 3rd party libraries (JARs) that should be included in WAR
|
||||
|
||||
Put here any 3rd party libraries (JARs) that are needed by customizations,
|
||||
but that are not part of the out-of-the-box libraries in the *alfresco/WEB-INF/lib*
|
||||
directory.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the libs to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-platform-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. If you need to use a library that is available out-of-the-box, then
|
||||
include it as a *provided* dependency in the module.
|
||||
|
||||
|
@@ -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,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 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}.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="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>
|
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco Platform/Repository JAR Module</name>
|
||||
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 3
|
||||
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.0
|
||||
</description>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@@ -17,13 +17,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>
|
@@ -3,6 +3,19 @@
|
||||
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>
|
||||
@@ -22,17 +35,14 @@
|
||||
<source>src/main/assembly/file-mapping.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
<!-- Add module-specific log4j.properties configuration at top level in the AMP -->
|
||||
<file>
|
||||
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
<fileSets>
|
||||
<!-- Anything in the assembly/lib directory will end up in the /lib directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
@@ -44,7 +54,9 @@
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<!-- Include the project artifact (JAR) in the /lib directory in the AMP -->
|
||||
<!-- 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>
|
@@ -10,7 +10,7 @@ any existing web resources in the Alfresco.WAR.
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-platform-jar</artifactId>
|
||||
<artifactId>some-platform</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
@@ -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;
|
||||
@@ -56,7 +57,7 @@ public class DemoComponent extends AbstractModuleComponent {
|
||||
protected void executeInternal() throws Throwable {
|
||||
System.out.println("DemoComponent has been executed");
|
||||
logger.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||
logger.info("This is only for information purposed. Better remove me from the log in Production");
|
||||
logger.info("This is only for information purposes. Better remove me from the log in Production");
|
||||
}
|
||||
|
||||
/**
|
@@ -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.springframework.extensions.webscripts.Cache;
|
@@ -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>
|
@@ -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 @@
|
||||
# Add here module-specific custom log4j.properties configuration
|
@@ -73,7 +73,6 @@
|
||||
<atomic>true</atomic>
|
||||
<stored>false</stored>
|
||||
<tokenised>false</tokenised>
|
||||
<facetable>true</facetable>
|
||||
</index>
|
||||
<constraints>
|
||||
<constraint ref="acme:securityClassificationOptions"/>
|
@@ -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,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.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 log4j.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,57 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=error, Console, File
|
||||
|
||||
# Console appender definition #
|
||||
|
||||
# All outputs currently set to be a ConsoleAppender.
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
|
||||
# use log4j NDC to replace %x with tenant domain / username
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
|
||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
# File appender definition #
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=share.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
|
||||
|
||||
# Spring
|
||||
log4j.logger.org.springframework=warn
|
||||
# Turn off Spring remoting warnings that should really be info or debug.
|
||||
log4j.logger.org.springframework.remoting.support=error
|
||||
log4j.logger.org.springframework.util=error
|
||||
|
||||
# MyFaces
|
||||
log4j.logger.org.apache.myfaces.util.DebugUtils=info
|
||||
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
|
||||
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
|
||||
log4j.logger.org.apache.myfaces.taglib=error
|
||||
|
||||
# Alfresco
|
||||
log4j.logger.org.alfresco=error
|
||||
log4j.logger.org.alfresco.config=warn
|
||||
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
|
||||
log4j.logger.org.alfresco.web=info
|
||||
|
||||
# Web Framework
|
||||
log4j.logger.org.springframework.extensions.webscripts=info
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
|
||||
|
||||
# Freemarker
|
||||
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.freemarker.runtime=
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Custom Share module logging goes here...
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
@@ -0,0 +1,105 @@
|
||||
<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.2.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>
|
||||
</alfresco-config>
|
||||
|
@@ -1,19 +0,0 @@
|
||||
# 3rd party libraries (JARs) that should be included in WAR
|
||||
|
||||
Put here any 3rd party libraries (JARs) that are needed by customizations,
|
||||
but that are not part of the out-of-the-box libraries in the *share/WEB-INF/lib*
|
||||
directory.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the libs to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-share-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. If you need to use a library that is available out-of-the-box, then
|
||||
include it as a *provided* dependency in the module.
|
@@ -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.0</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
@@ -22,14 +22,9 @@
|
||||
<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>
|
||||
|
||||
<build>
|
@@ -3,6 +3,19 @@
|
||||
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>
|
||||
@@ -22,17 +35,14 @@
|
||||
<source>src/main/assembly/file-mapping.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
<!-- Add module-specific log4j.properties configuration at top level in the AMP -->
|
||||
<file>
|
||||
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
<fileSets>
|
||||
<!-- Anything in the assembly/lib directory will end up in the /lib directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
@@ -44,7 +54,9 @@
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<!-- Include the project artifact (JAR) in the /lib directory in the AMP -->
|
||||
<!-- 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>
|
@@ -10,7 +10,7 @@ any existing web resources in the Share.WAR.
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-share-jar</artifactId>
|
||||
<artifactId>some-share</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
@@ -0,0 +1 @@
|
||||
# Add here module-specific custom log4j.properties configuration
|
@@ -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
|
@@ -1,9 +0,0 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
||||
|
||||
mvnDebug clean install alfresco:run
|
||||
|
@@ -1,3 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvnDebug clean install alfresco:run
|
@@ -0,0 +1,60 @@
|
||||
#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:
|
||||
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:9.6
|
||||
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:1.2.0
|
||||
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
|
||||
ports:
|
||||
- "8983:8983"
|
||||
volumes:
|
||||
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
|
||||
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
|
||||
volumes:
|
||||
${rootArtifactId}-acs-volume:
|
||||
external: true
|
||||
${rootArtifactId}-db-volume:
|
||||
external: true
|
||||
${rootArtifactId}-ass-volume:
|
||||
external: true
|
@@ -5,60 +5,82 @@
|
||||
<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.0</name>
|
||||
<description>All-In-One (AIO) project for SDK 4.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.share.war.artifactId>share</alfresco.share.war.artifactId>
|
||||
<!-- Platform WAR artifact, change to 'alfresco-enterprise' if using Enterprise Edition -->
|
||||
<alfresco.platform.war.artifactId>alfresco-platform</alfresco.platform.war.artifactId>
|
||||
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.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.b-EA</alfresco.platform.version>
|
||||
<alfresco.share.version>5.2.a-EA</alfresco.share.version>
|
||||
|
||||
<!-- Alfresco Surf version, if you change Share version you might need to change Surf version -->
|
||||
<alfresco.surf.version>6.6</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.85</aikau.version>
|
||||
<!-- Docker images -->
|
||||
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||
<docker.share.image>@@alfresco.share.docker.image@@</docker.share.image>
|
||||
|
||||
<!-- 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 to use, Alfresco Maven Plugin will
|
||||
copy alfresco-global-*.properties files from this directory, such as src/test/properties/local -->
|
||||
<env>local</env>
|
||||
<!-- 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>
|
||||
|
||||
<!-- Compile with Java 7, default is 5 -->
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
</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-all</artifactId>
|
||||
<version>1.9.5</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.
|
||||
@@ -69,7 +91,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>
|
||||
@@ -78,14 +100,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>
|
||||
@@ -98,27 +120,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>
|
||||
@@ -144,12 +159,13 @@
|
||||
</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.0.1</version>
|
||||
<version>3.1.0</version>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||
@@ -180,6 +196,53 @@
|
||||
</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.0.0-M1</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>
|
||||
|
||||
@@ -197,99 +260,82 @@
|
||||
<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 -->
|
||||
<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>
|
||||
|
||||
<!--
|
||||
The Alfresco Maven Plugin contains all the logic to run the extension
|
||||
in an embedded Tomcat with the H2 database.
|
||||
-->
|
||||
<!-- Compress JavaScript files and store as *-min.js -->
|
||||
<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>
|
||||
<!-- Enable the REST API Explorer -->
|
||||
<enableApiExplorer>true</enableApiExplorer>
|
||||
|
||||
<!--
|
||||
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>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>yuicompressor-maven-plugin</artifactId>
|
||||
<version>1.5.1</version>
|
||||
<executions>
|
||||
<!-- Compress the JS files under the assembly folder -->
|
||||
<execution>
|
||||
<id>compress-assembly</id>
|
||||
<goals>
|
||||
<goal>compress</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sourceDirectory>${project.basedir}/src/main/assembly/web</sourceDirectory>
|
||||
<outputDirectory>${project.basedir}/src/main/assembly/web</outputDirectory>
|
||||
<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>
|
||||
<jswarn>false</jswarn>
|
||||
</configuration>
|
||||
</execution>
|
||||
<!-- Compress the JS files under the resources folder -->
|
||||
<execution>
|
||||
<id>compress-resources</id>
|
||||
<goals>
|
||||
<goal>compress</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<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>
|
||||
<jswarn>false</jswarn>
|
||||
</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>
|
||||
@@ -306,10 +352,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>
|
||||
@@ -325,6 +369,46 @@
|
||||
</plugins>
|
||||
</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,)</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>
|
||||
</profiles>
|
||||
|
||||
<!--
|
||||
Alfresco Maven Repositories
|
||||
-->
|
||||
@@ -347,6 +431,7 @@
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>alfresco-plugin-public</id>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user