Compare commits

...

177 Commits

Author SHA1 Message Date
alfresco-build
b7fff632e7 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.2.0 2016-03-03 17:01:29 +00:00
Ole Hejlskov
5b3b5d3914 Bump version down to 2.2.0-SNAPSHOT 2016-03-03 17:04:19 +01:00
Martin Bergljung
9b5db76577 Fix for share-amp/run.bat 2016-03-03 15:59:52 +00:00
Ole Hejlskov
43ad42aac8 Merge pull request #367 from jphuynh/master
Logo image source link was dead. Fixed that to use the logo published…
2016-03-03 16:33:35 +01:00
Jean-Pierre Huynh
9c5f1e9e0d Logo image source link was dead. Fixed that to use the logo published on wiki.alfresco.com. 2016-03-03 14:23:12 +00:00
alfresco-build
c46b0b86d2 [maven-release-plugin] prepare for next development iteration 2016-03-03 11:39:37 +00:00
alfresco-build
99031d5def [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.2.0 2016-03-03 11:39:32 +00:00
Ole Hejlskov
0bdacc4787 Realign ID's for authentication with Nexus 2016-03-03 11:53:40 +01:00
Ole Hejlskov
b6e170a0ce Remove 5.1 EA repositories 2016-03-03 11:40:19 +01:00
Ole Hejlskov
a37b121cb6 Add Alfresco REST API Explorer, see #366 for more details 2016-03-03 11:12:10 +01:00
Martin Bergljung
c7591ca848 #364 2016-02-29 16:35:43 +00:00
Martin Bergljung
54a067325a #356 - minor fix in run.bat 2016-02-29 15:32:31 +00:00
Martin Bergljung
ceed7af6fe #356 2016-02-29 15:14:15 +00:00
Martin Bergljung
377aaa5459 #355 2016-02-29 11:27:04 +00:00
Martin Bergljung
b226302572 Merge pull request #331 from Alfresco/slanglois-issue-298
#298 Define argLine as a property, not in surefire
2016-02-29 09:18:08 +00:00
Martin Bergljung
876f6286fc Bring branch up to date 2016-02-29 09:16:50 +00:00
Martin Bergljung
5d59d6cd27 Added back Spring Loaded when running Share AMP 2016-02-29 08:58:22 +00:00
Martin Bergljung
6d4b901129 Merge pull request #359 from loftuxab/utf8-url-fix
The current configuration doesn't encode url:s tomcat7-maven-plugin.
2016-02-29 08:23:47 +00:00
Peter Löfgren
0854929d99 The current configuration doesn't encode url:s properly and this breaks any pages/webscripts that uses parameters that contains non us-ascii characters. Adding the uriEncoding solves this. 2016-02-19 12:39:22 +01:00
alfresco-build
8415da72b0 [maven-release-plugin] prepare for next development iteration 2016-02-04 10:41:55 +00:00
alfresco-build
14cd4be39c [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.2.0-beta-1 2016-02-04 10:41:50 +00:00
Ole Hejlskov
f2f5698a3b Remove double activation tag from pull request #352 2016-02-04 11:00:46 +01:00
Ole Hejlskov
5b83b99549 Merge pull request #352 from michaeljmuller/master
change activation of enforce-sdk-rules so it's *really* on by default, as intended
2016-02-04 10:54:24 +01:00
Ole Hejlskov
181951ed99 Add MAVEN_OPTS that are compatible with JDK7 but comment out by default. See DEVPLAT-456 for more info 2016-02-04 10:50:21 +01:00
Ole Hejlskov
a4711142e6 Merge pull request #354 from michaeljmuller/chmod
make run.sh executable during the "validation" phase of the build
2016-02-04 10:39:06 +01:00
Michael Muller
78d1466220 make run.sh executable during the "validation" phase of the build 2016-02-03 12:00:13 -07:00
Michael Muller
d99539c9b0 change activation of enforce-sdk-rules so it's *really* on by default, as intended 2016-02-03 11:37:34 -07:00
Ole Hejlskov
30bfc14422 Fix escaping 2016-01-29 10:57:27 +01:00
Martin Bergljung
641aa6bb8e DEVPLAT-440 2016-01-25 14:37:57 +00:00
Ole Hejlskov
f031c76a41 Add JS to the nonFilteredFileExtension list. See #254 for more info 2016-01-22 16:12:30 +01:00
Ole Hejlskov
2ad03e3f5c Bump version to 2.2.0-SNAPSHOT 2016-01-22 16:05:37 +01:00
Martin Bergljung
7275ba32e8 DEVPLAT-452 2016-01-22 08:26:23 +00:00
Samuel Langlois
9bf50267dd Housekeeping: upgrading versions of dependencies and Maven plugins 2016-01-21 12:22:51 +00:00
Martin Bergljung
bbe3de2abb DEVPLAT-444 2016-01-21 11:26:15 +00:00
Samuel Langlois
5c01e8127c Change <id> of temporary Maven Repo hosting 5.1-EA, to fix CI 2016-01-21 11:20:35 +00:00
Martin Bergljung
9a1b97e64d DEVPLAT-442 2016-01-21 10:34:36 +00:00
Martin Bergljung
b3955a1b4f DEVPLAT-443 2016-01-20 10:41:06 +00:00
Martin Bergljung
2e546a1cae DEVPLAT-445 2016-01-20 10:18:04 +00:00
Martin Bergljung
9dd9f530bb DEVPLAT-333, DEVPLAT-435, DEVPLAT-436, DEVPLAT-437, DEVPLAT-438, DEVPLAT-439, DEVPLAT-447 2016-01-12 15:14:53 +00:00
Ole Hejlskov
27bcaa3daf Revert "Revert "DEVPLAT-338, Incorrect naming of AIO AMPs, #311""
This reverts commit b2afebed09.
2015-11-06 21:16:57 +01:00
Ole Hejlskov
8f29244d99 Changed my info for future reference. I no longer work with Magenta 2015-10-19 17:55:01 +02:00
Ole Hejlskov
87af573673 Updated README with 2.1.1 information 2015-10-19 17:15:50 +02:00
alfresco-build
d53184196b [maven-release-plugin] prepare for next development iteration 2015-10-19 11:20:20 +01:00
alfresco-build
4431863500 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.1 2015-10-19 11:20:15 +01:00
alfresco-build
d2e9b89720 [maven-release-plugin] prepare for next development iteration 2015-10-09 15:34:00 +01:00
alfresco-build
cda786187c [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.1-beta-3 2015-10-09 15:33:54 +01:00
Ole Hejlskov
8cf04fc98d Revert "[maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.1-beta-1"
This reverts commit 3b579596db.
2015-10-09 15:55:24 +02:00
alfresco-build
3b579596db [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.1-beta-1 2015-10-09 14:19:39 +01:00
Ole Hejlskov
b2afebed09 Revert "DEVPLAT-338, Incorrect naming of AIO AMPs, #311"
This reverts commit 6c57d9ede0.

We can't put this commit in a SP release, so we have to revert the revert when we need it back
2015-10-09 13:48:22 +02:00
Martin Bergljung
3707dbc5d6 DEVPLAT-343, alfresco-sdk uses relative path for dir.root,#289 2015-10-07 19:50:34 +01:00
Martin Bergljung
f3d85a19ce DEVPLAT-342, Define argLine property rather than setting it in surefire, to ease integration with other plugins, #298 2015-10-07 13:01:54 +01:00
Martin Bergljung
6c57d9ede0 DEVPLAT-338, Incorrect naming of AIO AMPs, #311 2015-10-07 10:45:51 +01:00
Martin Bergljung
0958c63b44 DEVPLAT-337, AIO/share-amp share-config-custom.xml changes are not loaded, #299 2015-10-05 13:47:14 +01:00
Martin Bergljung
eeb5e7304f DEVPLAT-108, Repo-amp contains unwanted libs after running amp-to-war 2015-10-02 09:20:45 +01:00
alfresco-build
8d06e0e791 [maven-release-plugin] prepare for next development iteration 2015-09-28 13:12:09 +01:00
alfresco-build
a11a3a65b6 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.1-beta-2 2015-09-28 13:12:03 +01:00
Ole Hejlskov
5936c3fcda Merge pull request #326 from binovo/Issue/317
fix issue #317
2015-09-24 15:15:47 +02:00
Samuel Langlois
3e7a6d83a9 #298 Define argLine as a property, not in surefire
Allows other plugins (such as JaCoCo) to tune the argLine parameters of the JVM forked by surefire
2015-09-16 17:03:40 +01:00
alfresco-build
235a84105a [maven-release-plugin] prepare for next development iteration 2015-09-01 09:04:47 +01:00
alfresco-build
3465b3aaf5 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.1-beta-1 2015-09-01 09:04:41 +01:00
Ole Hejlskov
509e4072e8 Revert version back to 2.1.1-SNAPSHOT 2015-09-01 09:29:52 +02:00
alfresco-build
6e7e2d7740 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.0.0 2015-08-31 15:08:14 +01:00
Martin Bergljung
841c72e64a DEVPLAT-258,Ensure demoComponent is loaded properly,#220 2015-08-27 08:23:47 +01:00
Martin Bergljung
6b83be9d9f DEVPLAT-83 - Remove plexus-archiver from maven-war-plugin definition in parent SDK pom 2015-08-26 12:11:52 +01:00
Martin Bergljung
f4c9a36256 DEVPLAT-107 - Add scope test to <artifactId>selenium-java</artifactId> in aio/share-amp/pom.xml, #300 2015-08-26 11:43:59 +01:00
Martin Bergljung
7309916d83 DEVPLAT-151 - Files that are generated from the Share AMP archetype needs unique names 2015-08-26 10:22:45 +01:00
mindthegab
de723e44ff Fix DOCS-1155 2015-08-12 16:48:07 -04:00
Igor Blanco
60dac34448 fix issue #317 2015-08-03 15:50:41 +02:00
mindthegab
477067a992 udpated release profile to run enterprise-tests as per issue #314 2015-07-30 14:16:18 -04:00
mindthegab
016879ec87 added link to command reference in response to request on issue #309 2015-07-30 14:12:20 -04:00
mindthegab
97cbaefc6f fixed issue #314 - by default now mvn clean install works without enterprise access. to run enterprise-tests use -Penterprise-tests 2015-07-30 13:46:54 -04:00
Samuel Langlois
c854a0aad3 Issue #301: remove JDK8 specific flag for Javadoc 2015-07-23 10:24:52 +01:00
Samuel Langlois
d483c01a6c Set ALL settings to Java 7 for compiler plugin + remove test on JDK version 2015-07-23 10:15:45 +01:00
mindthegab
3116123800 reverted target version for the SDK to java7 for issue #301, added some logging for issue #297 2015-07-22 17:10:26 -04:00
mindthegab
a39a11ffe7 fixed issue #297, now webappDirectory is honored if present 2015-06-01 18:13:36 +01:00
mindthegab
41dd5ff1ea imprving unarchiver logging 2015-06-01 12:54:13 +01:00
mindthegab
2a3eb3919e improved logging 2015-05-29 17:00:19 -04:00
mindthegab
f9c4647f22 more fixes for issue #254 2015-05-29 10:31:17 -04:00
mindthegab
bc97442af7 Merge pull request #288 from jphuynh/master
DEVPLAT-75: Added Alfresco PGP public key and fingerprint information
2015-05-22 09:46:55 -04:00
Jean-Pierre Huynh
9c49d6c7f9 DEVPLAT-75: Added Alfresco PGP public key and fingerprint information 2015-05-21 07:29:06 +01:00
mindthegab
2453421d1b Update README.md 2015-05-20 18:28:36 -04:00
mindthegab
5e17baa651 Update README.md 2015-05-20 18:19:32 -04:00
mindthegab
c3b43c0c68 Update README.md 2015-05-20 18:18:28 -04:00
mindthegab
6f0589ce63 Update README.md 2015-05-20 18:17:08 -04:00
mindthegab
abee710157 Updated readme.MD 2015-05-20 18:12:53 -04:00
mindthegab
19b0d1d8a7 Updated README for SDK 2.1.0 release 2015-05-20 18:07:52 -04:00
mindthegab
6ebaa083d4 Merge pull request #281 from Alfresco/readme-update
Updated SDK README, needs further edits.
2015-05-20 17:23:33 -04:00
mindthegab
80f62c65ca Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2015-05-20 12:01:22 -04:00
mindthegab
f946d711ea issue #267 - added logging to install amp goal 2015-05-20 12:01:07 -04:00
alfresco-build
4a25c4ceba [maven-release-plugin] prepare for next development iteration 2015-05-20 13:24:05 +01:00
alfresco-build
6140990608 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0 2015-05-20 13:24:00 +01:00
Martin Bergljung
6a6fcacf78 DEVPLAT-72: Move site-webscripts and site-data in under web-extension for share-amp 2015-05-18 14:11:06 +01:00
Martin Bergljung
3a9f08620a DEVPLAT-71: Set <disable-resource-caching> to false for AIO and Share AMP 2015-05-18 11:33:26 +01:00
Martin Bergljung
8b48a63e0a DEVPLAT-70, the share/src/test directory in the AIO artefact is not generated 2015-05-18 09:22:01 +01:00
Martin Bergljung
d0fdd2fdfe Updated enforcer plugin config, DEVPLAT-67 2015-05-15 11:11:40 +01:00
mindthegab
603fe956c6 DEVPLAT-67 - partial update for JDK 8 2015-05-14 11:00:21 -04:00
mindthegab
ccb6728e4c Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2015-05-14 10:49:37 -04:00
mindthegab
3ef4131ce8 Fixing javadoc strict build 2015-05-14 10:38:18 -04:00
Martin Bergljung
f1735544ab Fixed Solr Data Dir path on Windows, #284 2015-05-14 11:38:12 +01:00
Ole Hejlskov
ee6861e873 Bump to Java 8 by default 2015-05-12 17:24:48 +02:00
Ole Hejlskov
2a45c2eaa5 Merge pull request #277 from rpiccoli/master
Alfresco 5.0.1 supports Java 8, but Maven Compiler settings are hardcode...
2015-05-12 17:07:49 +02:00
Martin Bergljung
b33837280d Added Java controller to sample webscript 2015-05-12 10:47:34 +01:00
Ole Hejlskov
748231a932 Rename properties to a more consistent scheme. All refresh mojo related properties are now maven.alfresco.refresh.* (#283) 2015-05-11 15:39:42 +02:00
Ole Hejlskov
8707fbebbf Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2015-05-11 15:23:56 +02:00
Ole Hejlskov
8d5d26a1a5 Add the alfresco-maven-plugin to AIO parent poms so the plugin shows up in IDEA (#283) 2015-05-11 15:23:14 +02:00
alfresco-build
0f6b82d7f1 [maven-release-plugin] prepare for next development iteration 2015-05-11 14:12:53 +01:00
alfresco-build
c7559ba8ea [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0-beta-1 2015-05-11 14:12:48 +01:00
Ole Hejlskov
96efddd7af Refactor Refresh Mojo's to be more dynamic and aware of its sourroundings (#283) 2015-05-11 14:11:38 +02:00
alfresco-build
1a95fab1eb [maven-release-plugin] prepare for next development iteration 2015-05-11 12:48:58 +01:00
alfresco-build
85ea35c7b6 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0-beta-1 2015-05-11 12:48:53 +01:00
alfresco-build
788b64ccc6 [maven-release-plugin] prepare for next development iteration 2015-05-11 10:58:09 +01:00
alfresco-build
ec8c8748e8 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0-beta-1 2015-05-11 10:58:03 +01:00
Martin Bergljung
b3d1a5b3d1 Removed PermGen JVM setting from run scripts, not used in JDK8 2015-05-11 09:58:12 +01:00
Martin Bergljung
b265ffb00e DEVPLAT-31: JS Compression, regression fix, #269 2015-05-11 08:00:42 +01:00
alfresco-build
d5e9278d52 [maven-release-plugin] prepare for next development iteration 2015-05-08 16:23:07 +01:00
alfresco-build
db7e154a31 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0-beta-1 2015-05-08 16:23:01 +01:00
Ole Hejlskov
b84ea0ffb3 Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2015-05-08 16:28:11 +02:00
Ole Hejlskov
56f8336af3 Fix a few issues in refresh-share goal (defaults) and read port from maven.tomcat.port.
Fix XML issue in AIO PO testing suite to keep Eclipse happy
2015-05-08 16:27:20 +02:00
alfresco-build
790b8cdfdb [maven-release-plugin] prepare for next development iteration 2015-05-08 15:24:59 +01:00
alfresco-build
dbec475d0b [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.0.1-beta-1 2015-05-08 15:24:54 +01:00
alfresco-build
c541f66845 [maven-release-plugin] prepare for next development iteration 2015-05-07 15:19:15 +01:00
alfresco-build
fab637d1cb [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0-beta-1 2015-05-07 15:19:10 +01:00
mindthegab
e8c7fdbc8b fixed version 2015-05-07 09:42:45 -04:00
mindthegab
b178eaffaa fixed broken version by CI 2015-05-07 09:26:56 -04:00
Martin Bergljung
8fa82cfad5 Fixed regression testing for Community Share #217 2015-05-07 10:00:40 +01:00
Martin Bergljung
f050c75615 Updated SDK README 2015-05-06 09:38:04 +01:00
alfresco-build
f3f70d6035 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.1.0-beta-1 2015-05-05 23:16:09 +01:00
Martin Bergljung
da6c97d857 DEVPLAT-58 - replace refresh profiles with alfresco-maven-plugin goals 2015-05-01 16:18:54 +01:00
Ricardo Piccoli
d4872f7e1a Alfresco 5.0.1 supports Java 8, but Maven Compiler settings are hardcoded to 1.7 2015-05-01 14:10:16 +01:00
Martin Bergljung
c79889e662 Added run.bat files to archetypes 2015-04-30 08:42:19 +01:00
Martin Bergljung
ed7e5e2ead DEVPLAT-49 - Split clear-caches-refresh-ws profile into one for repo and one for share and make port number configurable 2015-04-28 15:21:44 +01:00
Ricardo Piccoli
126747dbc9 Alfresco 5.0.1 supports Java 8, but Maven Compiler settings are hardcoded to 1.7 2015-04-28 10:41:06 +01:00
Martin Bergljung
4c0e340ab4 DEVPLAT-6: Fix regression and functional IT (still needs proper release of share-po) 2015-04-27 14:22:35 +01:00
Samuel Langlois
cf86202c28 Upgrade Enterprise default version to 5.0.1 2015-04-22 18:33:12 +01:00
Martin Bergljung
d8816d7fa7 DEVPLAT-50 2015-04-21 09:42:16 +01:00
Martin Bergljung
e2da89679c DEVPLAT-31: Add JS minification, #269 2015-04-08 14:45:23 +01:00
Martin Bergljung
c9865d2295 DEVPLAT-44: Image corrupted when overriding the favicon.ico file, #267 2015-04-08 14:41:21 +01:00
Ole Hejlskov
a7856633ec Set virtual class path up correctly. Running 'mvn compile' makes sure the changes
end up in target/${project.build.finalName}/config. This causes issues when
changing existing files after starting/restarting, since integration-test makes
the files appear in target/test-classes. The app would then only serve the file
in target/test-classes and ignore the rest.

By switching these we can strive for having 'mvn compile' do everything we need
to ensure hot reloading works.
2015-04-07 17:37:24 +02:00
Ole Hejlskov
c62178aadf Clear cache/web scripts profile now hooks in the right phase and works as expected 2015-04-07 16:47:02 +02:00
Martin Bergljung
12807d4af3 Fixed parent sdk pom conflicts 2015-04-07 09:50:48 +01:00
Martin Bergljung
10bd148795 DEVPLAT-43 2015-04-07 09:35:19 +01:00
mindthegab
4e625f0ce3 Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk
Conflicts:
	poms/alfresco-sdk-parent/pom.xml
2015-04-02 13:25:46 -04:00
mindthegab
db3e891c05 fixed issue 254 - added css to the non filtered list 2015-04-02 13:22:51 -04:00
Martin Bergljung
60193a7029 DEVPLAT-13,14,31-37 2015-04-02 16:10:53 +01:00
Martin Bergljung
a04ef8ad72 Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2015-03-24 14:24:26 +00:00
Martin Bergljung
221752ef0d Backed out of H2 version 1.4.186 (hangs on second start), DEVPLAT-21 2015-03-24 14:24:06 +00:00
mindthegab
593f4e9143 Update README.md 2015-03-23 15:58:56 -04:00
mindthegab
c7296f71c2 Update README.md 2015-03-23 15:56:55 -04:00
Martin Bergljung
d2aa943430 Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2015-03-22 15:15:45 +00:00
Martin Bergljung
ca3fea4e1b DEVPLAT-3,DEVPLAT-4 2015-03-22 15:14:08 +00:00
mindthegab
6ff39d81ff Update README.md 2015-03-18 13:06:39 -04:00
mindthegab
9dae6e5279 Update README.md 2015-03-18 13:06:08 -04:00
mindthegab
28d475711e Update README.md 2015-03-18 12:50:13 -04:00
mindthegab
36ad3db030 -- fixes issue #262 2015-02-20 08:50:05 -05:00
mindthegab
10fb9dedac fixes issue 257 - moved to enforcer as <prerequisites> is not inherited 2015-02-18 13:31:38 -05:00
mindthegab
041f188760 [maven-release-plugin] prepare for next development iteration 2014-12-23 23:52:14 -05:00
mindthegab
ae7f3bd532 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.0.0 2014-12-23 23:52:11 -05:00
mindthegab
58cf54fe7d complete commit for issue #251 2014-12-23 23:33:14 -05:00
mindthegab
58ee1a3c79 - closes issue #251
- refactored h2 support to play nicely with IDEs and across the aio and
amp archetype use cases
- now moved the h2 support for the default alfresco version in the
alfresco-rad project, as part of the rapid application development
features
- tested all cmd line and eclipse based scenarios
- consolidated alfresco.community.default version and
alfresco.enterprise.default version and made them parametric in the
whole project
2014-12-23 23:32:10 -05:00
mindthegab
2237ab18d0 [maven-release-plugin] prepare for next development iteration 2014-12-23 15:30:15 -05:00
mindthegab
84d01c7217 [maven-release-plugin] prepare release alfresco-sdk-aggregator-2.0.0 2014-12-23 15:30:10 -05:00
mindthegab
0ef8953ffb for now not needing property expansion in profiles activation, so reverting the change to allow maven 3.2.2 compatibility 2014-12-23 14:35:23 -05:00
mindthegab
e377a9ef74 closed issue #163. added dependencies for enterprise profile and tested to work in amp and aio in eclipse and cmd line 2014-12-23 13:44:43 -05:00
mindthegab
1448f64560 added unit test to repo-amp for consistency 2014-12-23 12:35:05 -05:00
mindthegab
8bf4214be1 added amp testing framework to aio. tested remote junit working 2014-12-23 12:34:30 -05:00
mindthegab
bfd6d9ccc8 -updated h2 support (removed version of unused h2 support) 2014-12-23 12:28:51 -05:00
mindthegab
6af15e115c ugly code, made only slightly less ugly by not swallowing the exception 2014-12-22 12:05:50 -05:00
mindthegab
2d8a6cfcb6 fixing non fatal import issue in eclipse (for the sdk project, not generated archetypes) 2014-12-22 11:24:37 -05:00
mindthegab
61b833a362 closes issue #248. included disable-resource-caching in share-config-custom.xml per upstream issue https://issues.alfresco.com/jira/browse/ACE-2566 2014-12-22 11:18:47 -05:00
mindthegab
3b74df1b9f closes issue #248. included disable-resource-caching in share-config-custom.xml per upstream issue https://issues.alfresco.com/jira/browse/ACE-2566 2014-12-22 11:18:16 -05:00
mindthegab
705550faae updated readme for staging of 2.0.0 2014-12-22 11:06:43 -05:00
mindthegab
fa762dd48c updated readme for staging of 2.0.0 2014-12-22 11:05:52 -05:00
mindthegab
640ffcff90 Merge branch 'master' of https://github.com/Alfresco/alfresco-sdk 2014-12-22 11:04:49 -05:00
mindthegab
1662c159c5 updated readme for staging of 2.0.0 2014-12-22 11:04:29 -05:00
Samuel Langlois
60689add1e Fix typos 2014-12-19 16:48:53 +00:00
mindthegab
79aef16e36 -- fixed additional maven alfresco sdk old references 2014-12-19 09:29:48 -05:00
mindthegab
c7b88eb3d1 [maven-release-plugin] prepare for next development iteration 2014-12-19 08:33:01 -05:00
152 changed files with 4880 additions and 6902 deletions

66
KEYS
View File

@@ -9,6 +9,10 @@ Developers:
(gpg --list-key <your email>
&& gpg --armor --export <your email>) >> this file.
################################################################
# Gabriele Columbro
################################################################
pub 4096R/6FE5701E 2012-03-25
uid Gabriele Columbro (VALID CODE SIGNING KEY) <gabriele@apache.org>
sub 4096R/E97059F3 2012-03-25
@@ -86,4 +90,66 @@ hrGAueS2lH5DUpjZPqClR+txnAK+hVCuFogoWsdsbRHMLkqKqhnQjWnvRrU0ud9j
ytG/XwLK3RL7LTmPIC9RqlO1U1A3h5Ykw2INH/bB90lBxmydmp/PHpkhjEAEvzGW
r+ipOwsWpF6kLIHUT2LuPxLqTGQCrqYtJyTp61tE
=GUM9
-----END PGP PUBLIC KEY BLOCK-----
################################################################
# Alfresco Software, Inc - PGP key
################################################################
pub 4096R/DAD3B670 2014-10-20 [expires: 2015-10-20]
Key fingerprint = 6959 A697 47E2 7AC4 E1E7 1636 199D 99B1 DAD3 B670
uid Alfresco Software, Inc (GPG) <info@alfresco.com>
sub 4096R/A4B70B45 2014-10-20 [expires: 2015-10-20]
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.14 (GNU/Linux)
mQINBFRFM3EBEADveqoXdxufZiP+hK992UJO9OIumDts9SlirI4VviyRlCn/qc3X
5wzAAsTNRBJjsk3S3O3EfmK79GodIb0ebnQSbv6+EnwPK0uwS0ykoy7JrMUHVBY+
zI9AwGIe0UpCRXfPH3x0O1Psi1fcKGR/Qs2ouTnCpzDZRq3kFt7/iCXm6t8QpaxE
y4KNxT/S8MeGydslqgbEA4fCZ6RP9kzFs8tCNyv9WxHkcb0oos/nC2ihJy3HZATO
A2qeTxS5pf6O1hJuE7XRIRCPTN1j0uSAl4ebDKPn4uANz8MwYcZBz89lWVmP/wEz
AoN8jWjqb/SstURj+czjXoxhoxMaLDMjdw5RoJsLUmlfp2j9eaFbxmUl103wUL+O
R+6sk5pXHpvifjeI/AjNTaZe6WVfkgcUqkHmw0GUgdASgBLBDciGd+O4sXr/L/iZ
wxhdxcubWy4MbKcy7QlcS4Z4FwK6jjPQKjn+7PT3Wexh8SAX0661gntV7Rr/SYIY
edyRdtLd+SP+TuOn4wQY5x8ahHqGi4PDoSaCMAZ8jbQnbAXXeOlkBuyDm+Z4iGDC
OQgjvvQufB2ZA1ml9DjtZOWIdgUQfanGaO8TW+V5v+PFvfMkRFIMMyS8WEp6ePT/
IOBDxUBQ0BZ1BktkQ+Oifi179EyvghpePciUWX5oDf6AfW/QfLhnkVhQPQARAQAB
tDBBbGZyZXNjbyBTb2Z0d2FyZSwgSW5jIChHUEcpIDxpbmZvQGFsZnJlc2NvLmNv
bT6JAj4EEwECACgFAlRFM3ECGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
AheAAAoJEBmdmbHa07ZwTtYP/jdMOUFvUqAwaiDBap0+DqyyFgeWfa90b3O6LlAf
BeKin4lq8TEVL1CCehRSILAgd0nQQYHeJvLwpvZNl4t2TBFk5e/Xd4gHdszum4Ms
aJ0qc2G61ep5vE5z11Ca2vWLEG1Org+iVtZuMZcsCtPhFjyHE1PRU1s0ApoIXZxt
z35pgz5PSldPpOk4nuUKIhLLTpNLNd4fgbPiHhyqJloTMsOEycZ+W5Em2Ib2/kxx
0GIjAy5A9IlezALKengZ4NjHFwcddcP6+2rFgBTY/7KhhGNyOghwSIIJOdp0BQwD
bSN26e5WpYT+gja44QZ44KdMpOcxH8Qt0lJmjULizxcbYTPMsoPF3Jszm0E5auOQ
y2cixDEfmioqgJ4KKS6AIXd/yfLEvsGEU1Zz1a1yDQz12ZhzBa/GtoQRhzWErspR
7kMPiGKQEhQowB7vHfiCmVhx89RWPwZFFyLz92jS11ZGpeBlWF4hMSefQR7sFWLi
rYw0LOyMyFyz9P60ZKX18LHltxsrsteJA7zARcS0uv112O7wSTX1k44s5fiaWlVR
Ciuchcp0eTcsYa4Jiz4yZNnJhRi7tnsQJOXYF4IjGAxnJoBLSUUt2uEWtMg09m5F
vgrCNcc8HFy1hIIHy0l5CaLJY/5x9Z1Lg2dbwVP7+goTRogRGvpdjy7/eMlQEAgm
HMtsuQINBFRFM3EBEADCohKTxy3JYJ3dPzxhD/76nX0zkyvuhepVXAkpzjhWSx9r
9RQSB6WLnczlZVriQKVPR6RZ7fn4XhLim3v9e9c188R1WeUvuHWaJXDAvBWFarLu
y7kd1ZRpS0UWWE+k/WBruT5rEqjpW4Un/7WINsr972Ic7IFiv5ISUC7h/ylym5T1
w15WRZnMF96tLmMjzGdqJYrbu7Y4ZPYr5VwWnd9hE9Cal3YMMsfcXlIWOzw7BRDO
aWmMsWyFiVkwCeAZOSYthu4Qdo3bSlGo5C46JuRcdU1ZimZKztC1qlihiju7oWfa
3hJT/uWFu06IAdcI6lq4yEb+iG73BNUGNMDzpTeWLW7Q3IByZ/e9/DzFJcjsDf5N
jCzJGxAtEJ28egrZe6/Fk6yBwE0+nzUmOPU3qqi57aFFajfdV89SoQwKG83IpNJl
L9vbE62Iljm0DNK3VEotw9OMc6B3z6TfatVclqLFTH5Q+4rNcCytpK747loGVJcP
KFs1FzFj+hW2MkFcnY1JbuaSuyrhPVpg4Z1bjxLVLdlisYm0AL+n+z0tmFO45XJ2
mS06ckpqFAhk5HOOMOd/9+Qi3p9orE6dFM+TIWnxDphpws43O+FSYM8OJk7saGos
DNMvm9C0oz07MwMuthkLmSBsWmkZYXrvkUY1lrTdpyqqs11qllBZ1PsRATKeIQAR
AQABiQIlBBgBAgAPBQJURTNxAhsMBQkB4TOAAAoJEBmdmbHa07ZwQl4P/2FH+4Sa
JJgaNGoyyo1Oh1Xd1OMHf++V7FpXxHHmgEv6bTz3E8xHTMA7Zm1iBIPGrIo2loKe
49p3gbGFtvZLLT31Tg+usUN62QntKYOIiztdjsxzTskBgJH+A4Ucz7O1NsN6GQXF
QgGFlEpWApXCK8ogNp6ntwxGCyOFvZujuJjSFUZcpNEGhOYhYuKvo18qboP3RgVy
o74FPtPvh3YMz9DLRXeVbhhIq0oejek5z0aOXEjgZipVO4U7uDO5EVcG57jIVfiI
WM681KHG/Djx64GmSi9wo+P687Ib7+UHSzBTeEm9YVRNNSQFbuvxqq9XhDctkkbZ
m/QRbQXJFPQJcDOLLH06JNQ+/KvT8uwduiBFs2x77qKrVCxqCQU8XwY+KnyGouf9
sLdxDZwGoXFbnCyRKFH+fqoIMdcYzIT/VvGswTCNqSOvDxnSNO9REVbdsIJwenqt
QetRR7SVYKfcyLMCtMek3Fgst85khwP8tIYAEerE+XN04b1FfD3mjqvgBdUY7IDM
W1NVRTtjlX46ltNvtERO8JGYMqlRW/wpDXQzRxryNY7frXA+fhog2L53cOK/Fwc8
UcbLubQPkh/6+w4SybT2F8otOB1J8KZ0tzbTd5JxuX0V0AD8OjH+uuN67r5bQBk9
ARVlLqDOpHP01PW6WUQta2xAQ2mshuQZTX1H
=3Y/D
-----END PGP PUBLIC KEY BLOCK-----

117
README.md
View File

@@ -1,58 +1,75 @@
# [![Alfresco SDK logo](https://github.com/Alfresco/alfresco-sdk/raw/master/src/site/resources/img/alfresco-maven-logo.jpg)](#features) Alfresco SDK
SDK for Alfresco Development, Testing, packaging and custom project lifecycle management based on Apache Maven.
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).
Includes support for rapid and standard development, testing, packaging, versioning and release of your Alfresco integration and extension projects. For an overview of the SDK potential check out this video:
[![Alfresco SDK 2.x howto](http://img.youtube.com/vi/utYZaVe9Nd0/0.jpg)](https://www.youtube.com/watch?v=utYZaVe9Nd0)
The SDK is composed of:
- An [SDK Parent POM](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/poms/alfresco-sdk-parent/index.html) which you can use in your projects to enable rapid Alfresco development features
- An [Alfresco Platform Distribution POM](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-platform-distribution/latest/index.html) which pre-configures versions of Alfresco and common 3rd party dependency libraries, for stability purposes
- A [Maven Alfresco Plugin](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/plugins/alfresco-maven-plugin/index.html) which provides AMP packaging and installation facilities (a la MMT) and other common goals for Alfresco development
- A number of *Maven Archetypes* (sample projects) including:
1. [Alfresco Repository AMP Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-amp-archetype/index.html)
2. [Alfresco Share AMP Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/share-amp-archetype/index.html)
3. [Alfresco All-in-One Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-allinone-archetype/index.html)
## Resources
### Developer Documentation
**SDK 2.x**: Full documentation is available at the [Alfresco SDK site](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html).
### Alfresco Official Documentation
Additional documentation for Alfresco Community and Enterprise, tutorials and examples is available in the [Alfresco Documentation](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html).
### Samples
Advanced sample projects are maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
### Contribute
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).
## Maven Repositories
The Alfresco SDK is released in Maven Central as of version 2.0-beta-1.
Alfresco (Community and Enterprise) artifacts are instead hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/nexus/).
Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
for Enterprise and Premiere licensed software access you need to get credential via the Alfresco Enterprise Support. See [public docs](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html) or [this KB (login required)](https://myalfresco.force.com/support/articles/en_US/Technical_Article/Where-can-I-find-the-repository-for-Enterprise-Maven-artifacts) for more details.
## License and Support
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). It's a community driven project which is supported for Alfresco Development (please refere to the official [Alfresco Documentation](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html) for supported features.
## 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.
## News
- 2014-09-10: SDK 2.0.0-beta-4 released to Maven Central and in the [Archetype Catalog](http://repo1.maven.org/maven2/archetype-catalog.xml)!
- 2014-09-09: SDK 2.0.0-beta-3 released to Maven Central
- 2014-08-30: SDK 2.0.0-beta-1 and 2.0.0-beta-2 available in [Maven Central](http://search.maven.org/#search|ga|1|org.alfresco.maven)
- 2015-10-19: SDK 2.1.1 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
- 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), including tags, branches, issues. Allow a little time for a full cleanup of issue labels and to sort repository permissions. Please update obsolete references and bear with us as we update Alfresco Documentation to this change.
- 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.1.1 (latest) visit the offical Alfresco Documentation for:
- [Alfresco Community 5.0.d and above](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
- [Alfresco Enterprise 5.0.1 and above](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
#### Previous versions Documentation
- Documentation for [Alfresco SDK 2.0](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html) (compatible with Alfresco 5.0.d Community and 5.0.0 Enterprise)
- Documentation for [Alfresco SDK 1.1.1](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html) (compatible with Alfresco 4.2)
### Samples
Sample extension projects that use the SDK, maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
### Command reference
A list of supported features and commands, explanation of Maven profiles and commands is kept in the [Alfresco Official Docs](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-cmd-reference.html).
### Want to get up to speed quickly in Eclipse? Check out this video!
[![Alfresco SDK 2.1 howto](http://img.youtube.com/vi/utYZaVe9Nd0/0.jpg)](https://www.youtube.com/watch?v=utYZaVe9Nd0)
## 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/).
## 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).
## 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/).
- 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).
### Alfresco Artifacts Repository
#### Alfresco Releases
You can use the following snippet in your pom.xml to access releases on Alfresco Artifact repository:
```xml
<repository>
<id>alfresco-public</id>
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
</repository>
```
#### SDK Snapshots
To test new unreleased (unsupported) features, you can use the following snippet in your pom.xml to access SDK nightlies (SNAPSHOTS) from the OSS Sonatype repository:
```xml
<repository>
<id>oss-sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
```
## For Developers that want to contribute to the SDK
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).

View File

@@ -11,7 +11,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>2.0.0</version>
<version>2.2.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -22,7 +22,9 @@
<includes>
<include>archetype-resources/pom.xml</include>
<include>archetype-resources/run.sh</include>
<include>archetype-resources/run.bat</include>
<include>archetype-resources/runner/src/main/webapp/index.html</include>
<include>META-INF/maven/archetype-metadata.xml</include>
</includes>
<filtering>true</filtering>
</resource>
@@ -31,11 +33,14 @@
<excludes>
<exclude>archetype-resources/pom.xml</exclude>
<exclude>archetype-resources/run.sh</exclude>
<exclude>archetype-resources/run.bat</exclude>
<exclude>archetype-resources/runner/src/main/webapp/index.html</exclude>
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>

View File

@@ -1,186 +1,187 @@
<?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="All In One Archetype for Alfresco. Provides rapid development, IDE integration, and running embedded of Alfresco Repo, Share and Solr"
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>
<requiredProperty key="alfresco_target_groupId">
<defaultValue>org.alfresco</defaultValue>
</requiredProperty>
<requiredProperty key="alfresco_target_version">
<defaultValue>5.0.c</defaultValue>
</requiredProperty>
<requiredProperty key="package">
<defaultValue>(not used)</defaultValue>
</requiredProperty>
</requiredProperties>
<modules>
<module id="repo-amp" dir="repo-amp" name="repo-amp">
<fileSets>
<fileSet filtered="false" packaged="false" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/amp</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/amp/config/alfresco/extension/templates/webscripts</directory>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>tomcat</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="share-amp" dir="share-amp" name="share-amp">
<fileSets>
<fileSet filtered="false" packaged="false" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/amp</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>tomcat</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="repo" dir="repo" name="repo">
<fileSets>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="solr" dir="solr" name="solr" filtered="false">
<fileSets>
<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="All In One Archetype for Alfresco. Provides rapid development, IDE integration, and running embedded of Alfresco Repo, Share and Solr"
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>
<modules>
<module id="${rootArtifactId}-repo-amp" name="${rootArtifactId}-repo-amp" dir="__rootArtifactId__-repo-amp">
<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="false">
<directory>src/main/amp</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/*-context.xml</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true" packaged="false">
<directory>src/main/amp</directory>
<includes>
<include>**/*-context.xml</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/test/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="${rootArtifactId}-share-amp" name="${rootArtifactId}-share-amp" dir="__rootArtifactId__-share-amp" >
<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 filtered="true" packaged="false" encoding="UTF-8">
<directory>src/main/amp/config/alfresco/web-extension</directory>
<includes>
<include>__artifactId__-slingshot-application-context.xml</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>src/main/amp/config/alfresco/web-extension/site-data/extensions</directory>
<includes>
<include>__artifactId__-example-widgets.xml</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/amp</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/__artifactId__-slingshot-application-context.xml</exclude>
<exclude>**/__artifactId__-example-widgets.xml</exclude>
</excludes>
</fileSet>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="repo" dir="repo" name="repo">
<fileSets>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true">
<directory>src/main/resources/alfresco/extension</directory>
<includes>
<include>dev-log4j.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/dev-log4j.properties</exclude>
</excludes>
</fileSet>
</fileSets>
</module>
<module id="solr4" dir="solr-config" name="solr4" filtered="false">
</module>
<module id="share" dir="share" name="share" filtered="false">
<fileSets>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>src/test/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="runner" dir="runner" name="runner" filtered="false">
<fileSets>
<fileSet encoding="UTF-8" filtered="true">
<directory>tomcat</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>test-ng</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/webapp</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
</modules>
<fileSets>
<fileSet encoding="UTF-8">
<directory>src/main/solr-properties</directory>
<includes>
<include>**</include>
<include>**</include>
</includes>
<directory></directory>
<includes>
<include>run.sh</include>
<include>run.bat</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/webapp</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/assembly</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="share" dir="share" name="share" filtered="false">
<fileSets>
<fileSet encoding="UTF-8">
<directory>src/main/properties</directory>
<includes>
<include>**/*.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/resources</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
<module id="runner" dir="runner" name="runner" filtered="false">
<fileSets>
<fileSet encoding="UTF-8" filtered="false">
<directory>tomcat</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="false">
<directory>src/main/webapp</directory>
<includes>
<include>**</include>
</includes>
</fileSet>
</fileSets>
</module>
</modules>
<fileSets>
<fileSet encoding="UTF-8">
<directory></directory>
<includes>
<include>run.sh</include>
</includes>
</fileSet>
</fileSets>
</fileSets>
</archetype-descriptor>

View File

@@ -0,0 +1,64 @@
<?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>Alfresco Repository AMP Module</name>
<packaging>amp</packaging>
<description>This is a sample Alfresco repository AMP project, depended upon by the alfresco WAR aggregator</description>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<properties>
<!-- Property overrides are mostly done in parent pom -->
</properties>
<!-- Following dependencies are needed for compiling Java code in src/main/java;
<scope>provided</scope> is inherited for each of the following;
for more info, please refer to alfresco-platform-distribution POM -->
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
</dependency>
<!-- Uncomment if you are using RM (Records Management) module, brings in RM related classes -->
<!--
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-rm</artifactId>
<version>${alfresco.rm.version}</version>
<classifier>classes</classifier>
</dependency>
-->
</dependencies>
<profiles>
<!--
Brings in the extra Enterprise specific repository classes,
if the 'enterprise' profile has been activated, needs to be activated manually. -->
<profile>
<id>enterprise</id>
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-enterprise-repository</artifactId>
<version>${alfresco.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
<!-- If we are running in embedded Tomcat skip unit tests -->
<profile>
<id>run</id>
<properties>
<skipTests>true</skipTests>
</properties>
</profile>
</profiles>
</project>

View File

@@ -1,5 +1,5 @@
<webscript>
<shortname>Javascript Sample Webscript</shortname>
<shortname>Hello World Sample Webscript</shortname>
<description>Hands back a greeting</description>
<url>/sample/helloworld</url>
<authentication>user</authentication>

View File

@@ -0,0 +1,5 @@
## This Alfresco Repo 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.
##

View File

@@ -0,0 +1,27 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
<?xml version='1.0' encoding='UTF-8'?>
<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">
<!-- The bootstrap-context.xml file is used for patch definitions, importers,
workflow, and loading custom content models. -->
<!-- Registration of new models -->
<bean id="${artifactId}.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
<value>alfresco/module/${project.artifactId}/model/workflow-model.xml</value>
</list>
</property>
</bean>
</beans>

View File

@@ -0,0 +1,42 @@
#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="${artifactId}.exampleBean" class="${package}.demoamp.Demo" init-method="init" />
<!-- A simple module component that will be executed once.
Note. this module component will only be executed once, and then there will be an entry for it in the Repo.
So doing for example $ mvn clean install -Prun twice will only execute this component the first time.
You need to remove /alf_data_dev for it to be executed again. -->
<bean id="${artifactId}.exampleComponent" class="${package}.demoamp.DemoComponent" parent="module.baseComponent" >
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
<property name="name" value="exampleComponent" />
<property name="description" value="A demonstration component" />
<property name="sinceVersion" value="1.0" />
<property name="appliesFromVersion" value="1.0" />
<property name="nodeService" ref="NodeService" />
<property name="nodeLocatorService" ref="nodeLocatorService" />
</bean>
</beans>

View File

@@ -1,25 +1,27 @@
<?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.
-->
#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'>
<beans>
<!--
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
<import resource="classpath:alfresco/module/${artifactId}/context/service-context.xml" />
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>
<bean id="webscript.helloworld.get"
class="${package}.demoamp.HelloWorldWebScript"
parent="webscript">
</bean>
</beans>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<model name="myc:contentModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!-- Optional meta-data about the model -->
<description>Document Model for Repo Extension X</description>
<author>My Name</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco System Model Definitions -->
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
</imports>
<!-- Custom namespace for your domain -->
<namespaces>
<namespace uri="http://www.mycompany.com/model/content/1.0" prefix="myc"/>
</namespaces>
<!-- ===============================================================================================================
Constraints, Types, and Aspects go here...
-->
</model>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<model name="myw:workflowModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!-- Optional meta-data about the model -->
<description>Workflow Model for Repo Extension X</description>
<author>My Name</author>
<version>1.0</version>
<imports>
<!-- Import Alfresco Dictionary Definitions -->
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!-- Import Alfresco Content Domain Model Definitions -->
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!-- Import Alfresco Workflow Model Definitions -->
<import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/>
</imports>
<!-- Custom namespace for your domain -->
<namespaces>
<namespace uri="http://www.mycompany.com/model/workflow/1.0" prefix="myw"/>
</namespaces>
<!-- ===============================================================================================================
Constraints, Types, and Aspects go here...
-->
</model>

View File

@@ -1,5 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<?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
@@ -16,19 +15,17 @@
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="changeMe.exampleBean" class="org.alfresco.demoamp.Demo" init-method="init" />
<!-- A simple module component that will be executed once -->
<bean id="changeMe.exampleComponent" class="org.alfresco.demoamp.DemoComponent" parent="module.baseComponent" >
<property name="moduleId" value="${project.artifactId}" /> <!-- See module.properties -->
<property name="name" value="exampleComponent" />
<property name="description" value="A demonstration component" />
<property name="sinceVersion" value="2.0" />
<property name="appliesFromVersion" value="2.0" />
</bean>
</beans>
-->
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- 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/webscript-context.xml" />
</beans>

View File

@@ -23,7 +23,7 @@ module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${noSnapshotVersion}
module.version=${project.version}
# The following optional properties can be used to prevent the module from being added
# to inappropriate versions of the WAR file.

View File

@@ -1,4 +1,7 @@
package org.alfresco.demoamp;
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.demoamp;
/**
* This class does nothing except dump some output to <i>system.out</i>.

View File

@@ -1,20 +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.
*/
package org.alfresco.demoamp;
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}.demoamp;
import org.alfresco.repo.module.AbstractModuleComponent;
import org.alfresco.repo.nodelocator.NodeLocatorService;
@@ -25,54 +28,51 @@ import org.apache.commons.logging.LogFactory;
/**
* A basic component that will be started for this module.
* Uses the NodeLocatorService to easily find nodes and the
* Uses the NodeLocatorService to easily find nodes and the
* NodeService to display them
*
*
* @author Gabriele Columbro
* @author Maurizio Pillitu
*/
public class DemoComponent extends AbstractModuleComponent
{
public class DemoComponent extends AbstractModuleComponent {
Log log = LogFactory.getLog(DemoComponent.class);
private NodeService nodeService;
private NodeLocatorService nodeLocatorService;
public void setNodeService(NodeService nodeService) {
this.nodeService = nodeService;
}
public void setNodeLocatorService(NodeLocatorService nodeLocatorService) {
this.nodeLocatorService = nodeLocatorService;
}
/**
* Bogus component execution
* Bogus component execution
*/
@Override
protected void executeInternal() throws Throwable
{
protected void executeInternal() throws Throwable {
System.out.println("DemoComponent has been executed");
log.debug("Test debug logging. Congratulation your AMP is working");
log.info("This is only for information purposed. Better remove me from the log in Production");
}
/**
* This is a demo service interaction with Alfresco Foundation API.
* This sample method returns the number of child nodes of a certain type
* This sample method returns the number of child nodes of a certain type
* under a certain node.
*
*
* @return
*/
public int childNodesCount(NodeRef nodeRef)
{
public int childNodesCount(NodeRef nodeRef) {
return nodeService.countChildAssocs(nodeRef, true);
}
/**
* Returns the NodeRef of "Company Home"
*
*
* @return
*/
public NodeRef getCompanyHome()

View File

@@ -0,0 +1,43 @@
#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}.demoamp;
import org.springframework.extensions.webscripts.Cache;
import org.springframework.extensions.webscripts.DeclarativeWebScript;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.WebScriptRequest;
import java.util.HashMap;
import java.util.Map;
/**
* A demonstration Java controller for the Hello World Web Script.
*
* @author martin.bergljung@alfresco.com
* @since 2.1.0
*/
public class HelloWorldWebScript extends DeclarativeWebScript {
protected Map<String, Object> executeImpl(
WebScriptRequest req, Status status, Cache cache) {
Map<String, Object> model = new HashMap<String, Object>();
model.put("fromJava", "HelloFromJava");
return model;
}
}

View File

@@ -1,11 +1,12 @@
package org.alfresco.demoamp.test;
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
package ${package}.demoamp.test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.alfresco.demoamp.DemoComponent;
import ${package}.demoamp.DemoComponent;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.repository.NodeRef;
@@ -41,7 +42,6 @@ import com.tradeshift.test.remote.RemoteTestRunner;
* @author Maurizio Pillitu
*
*/
@RunWith(RemoteTestRunner.class)
@Remote(runnerClass=SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:alfresco/application-context.xml")

View File

@@ -13,23 +13,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# RUN TIME PROPERTIES
# -------------------
# Sample custom content and index data location
# This will create alf_data Relative to appserver run folder
# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
########################################################################################################################
# Alfresco configuration for running locally
#
# Configuration when running Tomcat embedded from Maven.
# This will create the alf_data_dev directory relative to Tomcat run folder.
# Property values from the POM but it can also be edited here.
########################################################################################################################
dir.root=${alfresco.data.location}
# Allowed values are: NONE, AUTO, FULL
index.recovery.mode=NONE
# This is default. Allowed values are: solr, lucene, noindex
index.subsystem.name=solr
#dir.keystore=.
#keystore.password=storepassword
#metadata.password=metapassword
# Use Solr4 as that is used by default with Alfresco 5
index.subsystem.name=solr4
solr.host=localhost
solr.port=8080
solr.secureComms=none
# Fail or not when there are node integrity checker errors
integrity.failOnError=true
@@ -41,17 +38,9 @@ db.username=${alfresco.db.username}
db.password=${alfresco.db.password}
db.pool.initial=10
db.pool.max=100
hibernate.dialect=org.hibernate.dialect.H2Dialect
# File servers related properties
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
smb.server.enabled=false
smb.server.name=CFS_SHARE_LOCAL
smb.server.domain=mycompany.com
smb.server.bindto=127.0.0.1
smb.tcpip.port=1445
netbios.session.port=1139
netbios.name.port=1137
netbios.datagram.port=1138
ftp.server.enables=false
ftp.port=1121
ftp.authenticator=alfresco
# For local runs we disable CIFS and FTP
cifs.enabled=false
ftp.enabled=false

View File

@@ -0,0 +1,99 @@
<?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>Alfresco Share AMP Module</name>
<packaging>amp</packaging>
<description>This is a sample Alfresco Share AMP project, depended upon by the share WAR module</description>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<!--
SDK properties have sensible defaults in the SDK parent,
but you can override the properties below to use another version.
For more available properties see the alfresco-sdk-parent POM.
-->
<properties>
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
Allowed values: alfresco | share. In this case it's configured to use OOTB share -->
<app.amp.client.war.artifactId>share</app.amp.client.war.artifactId>
<!-- Defines the log level used in log4j.properties -->
<app.log.root.level>WARN</app.log.root.level>
</properties>
<!-- Following dependencies are needed for compiling Java code in src/main/java;
<scope>provided</scope> is inherited for each of the following;
for more info, please refer to alfresco-platform-distribution POM -->
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share</artifactId>
<version>${alfresco.version}</version>
<classifier>classes</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.extensions.surf</groupId>
<artifactId>spring-surf-api</artifactId>
<scope>provided</scope>
</dependency>
<!--===============================================================
The following dependencies are needed to be able to compile the
custom functional tests that are based on Page Objects (PO)
===============================================================-->
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
It contains page objects such as LoginPage and it also brings
in selenium-grid and selenium. -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share-po</artifactId>
<version>${alfresco.version}</version>
<scope>test</scope>
</dependency>
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share-po</artifactId>
<version>${alfresco.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
<!-- Exclude selenium as it is already brought in by share-po dependency above -->
<exclusions>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Test NG is defined with test scope in share-po, so need it here too -->
<!-- Alfresco code creates a wrapper around Test NG -->
<dependency>
<groupId>org.alfresco.test</groupId>
<artifactId>alfresco-testng</artifactId>
<version>1.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,29 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
<?xml version='1.0' encoding='UTF-8'?>
<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">
<!--
Define beans related to this Share extension here, such as
evaluators and resource bootstrapping.
Note. Any configuration related to the whole Share.war webapp
(i.e. not specific to this share extension) should be
placed in the alfresco-allinone/share/src/main/resources/alfresco/web-extension/custom-slingshot-application-context.xml file
-->
<!-- Add module specific messages and labels -->
<bean id="${artifactId}.resources"
class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
<property name="resourceBundles">
<list>
<value>alfresco.web-extension.messages.${artifactId}</value>
</list>
</property>
</bean>
</beans>

View File

@@ -0,0 +1,9 @@
# This file should contain messages and labels specific to this share extension
# Put here things like:
# Content Model Aspect and Type Labels
# Form field labels
# Doc lib Action labels and messages
# Doc Lib Action Forms labels
#

View File

@@ -1,7 +1,10 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
<extension>
<modules>
<module>
<id>Example Aikau Widgets</id>
<id>${artifactId} - Example Aikau Widgets</id>
<version>1.0</version>
<auto-deploy>true</auto-deploy>
<configurations>

View File

@@ -0,0 +1,29 @@
model.jsonModel = {
widgets: [{
id: "SET_PAGE_TITLE",
name: "alfresco/header/SetTitle",
config: {
title: "This is a simple page"
}
},
{
id: "MY_HORIZONTAL_WIDGET_LAYOUT",
name: "alfresco/layout/HorizontalWidgets",
config: {
widgetWidth: 50,
widgets: [
{
id: "DEMO_SIMPLE_LOGO",
name: "alfresco/logo/Logo",
config: {
logoClasses: "alfresco-logo-only"
}
},
{
id: "DEMO_SIMPLE_MSG",
name: "example/widgets/TemplateWidget"
}
]
}
}]
};

View File

@@ -0,0 +1,6 @@
## If you are overriding out-of-the-box Alfresco web scripts, put these files here
## in the correct org.alfresco... package.
## If you are defining a new custom web script, add it under
## resources/alfresco/web-extension/site-webscripts/{your domain path}.
##

View File

@@ -24,7 +24,7 @@ module.id=${project.artifactId}
#module.aliases=myModule-123, my-module
module.title=${project.name}
module.description=${project.description}
module.version=${noSnapshotVersion}
module.version=${project.version}
# The following optional properties can be used to prevent the module from being added
# to inappropriate versions of the WAR file.

View File

@@ -0,0 +1,14 @@
<!-- Share configuration related to this particular Share module extension, such as:
- Doclib action config
- Form config
- Aspect and Type config
Note. Any configuration related to the whole Share.war webapp
(i.e. not specific to this share extension) should be
placed in the environment specific config:
alfresco-allinone/share/src/main/resources/alfresco/web-extension/share-config-custom.xml file
-->
<alfresco-config>
</alfresco-config>

View File

@@ -0,0 +1,96 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/*
* Copyright (C) 2005-2016 Alfresco Software Limited.
* This file is part of Alfresco
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.demoamp;
import ${package}.demoamp.po.DemoPage;
import org.alfresco.po.share.LoginPage;
import org.alfresco.po.AbstractTest;
import org.alfresco.po.share.PeopleFinderPage;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
/**
* Functional test that demonstrates how to write and
* extend an alfresco share page object.
* This test shows the interaction with page objects
* brought from share-po project along with newly created ones
* that are present in the Demo amp.
*
* @author Michael Suzuki
* @since 2.0.1
*/
public class DemoPageTestIT extends AbstractTest {
DemoPage page;
@BeforeClass(groups = {"alfresco-one"})
public void prepare() throws Exception {
// Navigate to share, which will redirect to Login page
driver.navigate().to(shareUrl + "/page");
// Resolve/Bind current page to LoginPage object
LoginPage loginPage = resolvePage(driver).render();
loginPage.loginAs(username, password);
}
@BeforeMethod
public void loadPage() {
// Goto demo page
driver.navigate().to(shareUrl + "/page/hdp/ws/simple-page");
// We need to instantiate the page like this as it is not yet in
// the factory known list of pages
page = factoryPage.instantiatePage(driver, DemoPage.class);
}
@Test
public void findLogo() {
Assert.assertTrue(page.isSimpleLogoDisplayed());
}
@Test
public void messageIsDisplayed() {
page.render();
String msg = page.getMessage();
Assert.assertNotNull(msg);
Assert.assertEquals("Hello from i18n!", msg);
}
/**
* Example of test reusing methods in abstract share page objects.
*/
@Test
public void titleDisplayed() {
// Invoke render when ready to use page object.
page.render();
Assert.assertNotNull(page);
Assert.assertTrue(page.getTitle().contains("This is a simple page"));
}
/**
* Test that show how we are able to reuse share page objects
* objects in particular the navigation object.
*/
@Test
public void navigate() {
Assert.assertNotNull(page.getNav());
PeopleFinderPage peopleFinderPage = page.getNav().selectPeople().render();
Assert.assertNotNull(peopleFinderPage);
}
}

View File

@@ -0,0 +1,70 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
/*
* Copyright (C) 2005-2016 Alfresco Software Limited.
* This file is part of Alfresco
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
package ${package}.demoamp.po;
import org.alfresco.po.share.SharePage;
import org.alfresco.po.RenderTime;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
/**
* Demo of simple share page object that encapsulates the demo of simple page.
*
* @author Michael Suzuki
* @since 2.0.1
*/
public class DemoPage extends SharePage {
@FindBy(id="DEMO_SIMPLE_LOGO")
WebElement logo;
@FindBy(id="DEMO_SIMPLE_MSG")
WebElement msg;
@SuppressWarnings("unchecked")
@Override
public DemoPage render(RenderTime timer) {
// Wait for logo and message to display, then consider page rendered
while (true) {
timer.start();
try {
if (isSimpleLogoDisplayed() && isMessageDisplayed()) {
break;
}
} catch (NoSuchElementException nse) {
} finally {
timer.end();
}
}
return this;
}
public boolean isSimpleLogoDisplayed() {
return isDisplayed(logo);
}
public boolean isMessageDisplayed() {
return isDisplayed(msg);
}
public String getMessage() {
return msg.getText();
}
}

View File

@@ -0,0 +1,12 @@
#set($symbol_pound='#')
#set($symbol_dollar='$')
#set($symbol_escape='\' )
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Custom Share AMP Page Object Tests" parallel="false">
<test name="DemoPageTest">
<classes>
<class name="${package}.demoamp.DemoPageTestIT"/>
</classes>
</test>
</suite>

View File

@@ -1,64 +1,101 @@
<?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">
<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>Alfresco Repository and Share Quickstart with database and an embedded runner.</name>
<description>This All-in-One project allows to manage all the components involved in Alfresco development (Repo, Share, Solr, AMPs) in one project</description>
<packaging>pom</packaging>
<name>Alfresco Repository and Share Quickstart with database and an embedded Tomcat runner.</name>
<description>This All-in-One project allows to manage all the components involved in Alfresco development (Repo, Share, Solr4, AMPs) in one project
</description>
<packaging>pom</packaging>
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-parent</artifactId>
<version>@@alfresco.sdk.parent.version@@</version>
</parent>
<!--
| SDK properties have sensible defaults in the SDK parent, but you can override the properties below to use another version.
| For more available properties see the alfresco-sdk-parent POM.
SDK properties have sensible defaults in the SDK parent,
but you can override the properties below to use another version.
For more available properties see the alfresco-sdk-parent POM.
-->
<properties>
<!--
| Defines the groupId for the Alfresco Artifacts to work against. As of 4.2 the only allowed value is: org.alfresco
| NOTE: See http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html for details
<!-- The following are default values for data location, Alfresco Community version, and Records Management Module version.
Uncomment if you need to change (Note. current default version for Enterprise edition is @@alfresco.enterprise.default.version@@)
<alfresco.version>@@alfresco.community.default.version@@</alfresco.version>
<alfresco.rm.version>@@alfresco.rm.version@@</alfresco.rm.version>
<alfresco.data.location>/absolute/path/to/alf_data_dev</alfresco.data.location> -->
<!-- This control the root logging level for all apps uncomment and change, defaults to WARN
<app.log.root.level>WARN</app.log.root.level>
-->
<!-- <alfresco.groupId>${alfresco_target_groupId}</alfresco.groupId> -->
<!-- Defines the Alfresco version to work against.
Community versions are typically identified by major.minor.character (4.2.a) while Enterprise versions are identified by major.minor.digit (4.2.0)
-->
<!--<alfresco.version>${alfresco_target_version}</alfresco.version>-->
<!-- This control the root logging level for all apps -->
<app.log.root.level>WARN</app.log.root.level>
<!-- This controls the default data location for dir.root -->
<alfresco.data.location>alf_data_dev</alfresco.data.location>
<!-- This controls which properties will be picked in multi-enviromment build -->
<!-- Set the enviroment to use, this controls which properties will be picked in src/test/properties
for embedded run, defaults to the 'local' environment. See SDK Parent POM for more info.
<env>local</env>
-->
<!-- The Alfresco Share web application is accessible via this URL -->
<share.client.url>http://localhost:8080/share</share.client.url>
</properties>
<!-- Here we realize the connection with the Alfresco selected platform (e.g.version and edition) -->
<dependencyManagement>
<dependencies>
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco plaftorm
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement.
NOTE: It defaults to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom
-->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
<version>${alfresco.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- If we are running tests then make the H2 Scripts available.
Note. tests are skipped when you are running -Prun -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
<version>${alfresco.version}</version>
<classifier>h2scripts</classifier>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!-- Here we realize the connection with the Alfresco selected platform (e.g.version and edition) -->
<dependencyManagement>
<dependencies>
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco plaftorm
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement.
NOTE: It defaults to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom
-->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
<version>${alfresco.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<!-- Compress JavaScript files and store as *-min.js -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<!-- Invoke your build with -Prun to run the multimodule project and enable rapid dev mode in your IDE.
See 'run' profile in the sub modules pom.xml for further behavioral details.
-->
<profiles>
<profile>
<!-- Invoke your build with -Prun to run the multimodule project and enable rapid dev mode in your IDE.
See 'run' profile in the sub modules pom.xml for further behavioral details.
-->
<id>run</id>
<properties>
<!-- While running in rapid dev mode with -Prun, we don't want amp web resources
@@ -67,15 +104,35 @@
<maven.alfresco.includeWebResources>false</maven.alfresco.includeWebResources>
</properties>
</profile>
<!-- RM profile, manually activated, automatically adds support for RM development (dependencies) and install the RM amps in the WARs -->
<!-- if we're on a unix machine, chmod run.sh to be executable -->
<profile>
<id>rm</id>
<properties>
<alfresco.rm.version>2.3.a.1</alfresco.rm.version>
<app.rm.amps.location>${project.build.directory}/rm-amps</app.rm.amps.location>
<app.rm.war.location>${project.build.directory}/${project.build.finalName}.war</app.rm.war.location>
<app.rm.artifact>org.alfresco:${alfresco.rm.artifactId}:${alfresco.rm.version}:amp</app.rm.artifact>
</properties>
<id>chmod</id>
<activation><os><family>unix</family></os></activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<inherited>false</inherited>
<executions>
<execution>
<id>chmod</id>
<phase>validate</phase>
<goals><goal>exec</goal></goals>
</execution>
</executions>
<configuration>
<executable>chmod</executable>
<arguments>
<argument>+x</argument>
<argument>${basedir}/run.sh</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -1,49 +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>
<artifactId>${artifactId}</artifactId>
<name>Alfresco Repository AMP Module</name>
<packaging>amp</packaging>
<description>This is a sample Alfresco repository AMP project, depended upon by the alfresco WAR aggregator</description>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<properties>
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
. | Allowed values: alfresco | share. Defaults to a repository AMP, but could point to your custom corporate Alfresco WAR -->
<alfresco.client.war>alfresco</alfresco.client.war>
</properties>
<!--
Following dependencies are needed for compiling Java code in src/main/java; <scope>provided</scope>
is inherited for each of the following; for more info, please refer to alfresco-integration-parent
POM definition
@TODO - document
-->
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
</dependency>
</dependencies>
<profiles>
<!-- RM profile, manually activated, automatically adds support for RM development (dependencies) and install the RM amps in the WARs -->
<profile>
<id>rm</id>
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-rm</artifactId>
<version>${alfresco.rm.version}</version>
<type>jar</type>
<classifier>classes</classifier>
</dependency>
</dependencies>
</profile>
</profiles>
</project>

View File

@@ -1,9 +0,0 @@
#!/bin/bash
# Downloads the spring-loaded lib if not existing and runs the repository AMP
springloadedfile=~/.m2/repository/org/springframework/springloaded/${springloaded.version}/springloaded-${springloaded.version}.jar
if [ ! -f $springloadedfile ]; then
mvn validate -Psetup
fi
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn integration-test -Prun

View File

@@ -1,26 +0,0 @@
package org.alfresco.demoamp;
import java.util.logging.Logger;
import org.alfresco.repo.module.AbstractModuleComponent;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* A basic component that will be started for this module.
* This is a sample taken from Maven Alfresco SDK
*
* @author Derek Hulley
*/
public class DemoComponent extends AbstractModuleComponent
{
Log log = LogFactory.getLog(DemoComponent.class);
@Override
protected void executeInternal() throws Throwable
{
System.out.println("DemoComponent has been executed");
log.debug("Test debug logging is working");
log.info("This should not be outputted by default");
}
}

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file is included only when running this project with -Pamp-to-war -->
<Context docBase="${alfresco.client.war.folder}" path="${alfresco.client.contextPath}">
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
<Loader searchVirtualFirst="true" className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="${project.build.outputDirectory};${project.build.testOutputDirectory};${project.build.directory}/${project.build.finalName}/config" />
<!--
<Environment override="false" type="java.lang.Boolean" name="properties/startup.enable" description="A flag that globally enables or disables startup of the major Alfresco subsystems." value="true"/>
<Environment override="false" type="java.lang.String" name="properties/dir.root" description="The filesystem directory below which content and index data is stored. Should be on a shared disk if this is a clustered installation."/>
<Environment override="false" type="java.lang.String" name="properties/hibernate.dialect" description="The fully qualified name of a org.hibernate.dialect.Dialect subclass that allows Hibernate to generate SQL optimized for a particular relational database. Choose from org.hibernate.dialect.DerbyDialect, org.hibernate.dialect.MySQLInnoDBDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSybaseAnywhereDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSQLServerDialect, org.hibernate.dialect.PostgreSQLDialect"/>
<Environment override="false" type="java.lang.String" name="properties/hibernate.query.substitutions" description="Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to &quot;true TRUE, false FALSE&quot;."/>
<Environment override="false" type="java.lang.Boolean" name="properties/hibernate.jdbc.use_get_generated_keys" description="Enable use of JDBC3 PreparedStatement.getGeneratedKeys() to retrieve natively generated keys after insert. Requires JDBC3+ driver. Set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."/>
<Environment override="false" type="java.lang.String" name="properties/hibernate.default_schema" description="Qualify unqualified table names with the given schema/tablespace in generated SQL. It may be necessary to set this when the target database has more than one schema."/>
-->
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
<JarScanner scanAllDirectories="true" />
</Context>

View File

@@ -24,6 +24,14 @@
<version>${version}</version>
</parent>
<properties>
<!-- During development we set log root level to Debug,
this will be applicable to the log configuration in
repo/src/main/resources/alfresco/extension/dev-log4j.properties,
such as DemoComponent logging. -->
<app.log.root.level>DEBUG</app.log.root.level>
</properties>
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
@@ -34,11 +42,11 @@
<!-- Demonstrating the dependency / installation of the repo AMP developed in the 'repo-amp' module -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>repo-amp</artifactId>
<artifactId>${rootArtifactId}-repo-amp</artifactId>
<version>${project.version}</version>
<type>amp</type>
</dependency>
<!-- Demonstrating the usage of a well known GA AMP (SharePoint Protocol Support) -->
<!-- Uncomment if you are using SPP (SharePoint Protocol Support) for Online Edit etc -->
<!--
<dependency>
<groupId>${alfresco.groupId}</groupId>
@@ -47,6 +55,15 @@
<type>amp</type>
</dependency>
-->
<!-- Uncomment if you are using the RM (Records Management) module. -->
<!-- Set alfresco.rm.version in parent pom to appropriate version for 5.1
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-rm</artifactId>
<version>${alfresco.rm.version}</version>
<type>amp</type>
</dependency>
-->
</dependencies>
<build>
@@ -74,9 +91,10 @@
<!-- Add / sort your AMPs here -->
<overlay>
<groupId>${project.groupId}</groupId>
<artifactId>repo-amp</artifactId>
<artifactId>${rootArtifactId}-repo-amp</artifactId>
<type>amp</type>
</overlay>
<!-- Uncomment if you are using SPP -->
<!--
<overlay>
<groupId>${alfresco.groupId}</groupId>
@@ -84,11 +102,20 @@
<type>amp</type>
</overlay>
-->
<!-- Uncomment if you are using RM -->
<!--
<overlay>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-rm</artifactId>
<type>amp</type>
</overlay>
-->
</overlays>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!-- Overrides the run profile to disable securecomms and add rapid development configuration -->
<profile>
@@ -145,53 +172,14 @@
</plugin>
</plugins>
</build>
</profile>
<!-- Installs the needed runtime artifact for an RM (Records Management) project -->
<profile>
<id>rm</id>
<properties>
<alfresco.rm.artifactId>alfresco-rm</alfresco.rm.artifactId>
</properties>
<build>
<plugins>
<!-- Fetch Alfresco RM repo AMP -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>get-rm-repo</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifact>${app.rm.artifact}</artifact>
<outputDirectory>${app.rm.amps.location}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- The current AMP artifact is installed into the Alfresco folder using alfresco-maven-plugin -->
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<executions>
<execution>
<id>install-rm-repo</id>
<phase>package</phase>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
<configuration>
<ampLocation>${app.rm.amps.location}</ampLocation>
<warLocation>${app.rm.war.location}</warLocation>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Include remote JUnit test lib to allow remote unit testing and start remote JUnit runner. -->
<dependency>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-rad</artifactId>
<version>${maven.alfresco.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>

View File

@@ -15,33 +15,45 @@
# RUN TIME PROPERTIES
# -------------------
# Sample custom content and index data location
# This will create alf_data Relative to appserver run folder
# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
###############################
## Common Alfresco Properties #
###############################
########################################################################################################################
# Alfresco configuration for running locally
#
# Configuration when running Tomcat embedded from Maven.
# This will create the alf_data_dev directory relative to Tomcat run folder.
# Property values from the POM but it can also be edited here.
########################################################################################################################
dir.root=${alfresco.data.location}
# Allowed values are: NONE, AUTO, FULL
index.recovery.mode=FULL
index.subsystem.name=solr
# Alfresco Repo Webapp (alfresco.war) context, ports etc
alfresco.context=alfresco
alfresco.host=localhost
alfresco.port=8080
alfresco.protocol=http
# Alfresco Share Webapp (share.war) context, ports etc
share.context=share
share.host=localhost
share.port=8080
share.protocol=http
# Use Solr4 as that is used by default with Alfresco 5
index.subsystem.name=solr4
solr.host=localhost
solr.port=8080
solr.secureComms=none
# Setting Solr backup for the future. Tweak this if needed (ideally in other env properties files)
solr.backup.alfresco.cronExpression=0 30 2 * * ? 2050
# Setting Solr backup for the future. Tweak this if needed (ideally in other env properties files)
solr.backup.alfresco.cronExpression=0 30 2 * * ? 2050
solr.backup.archive.cronExpression=0 30 3 * * ? 2050
solr.backup.alfresco.remoteBackupLocation=${dir.root}/solrBackup/alfresco
solr.backup.archive.remoteBackupLocation=${dir.root}/solrBackup/archive
solr.backup.alfresco.remoteBackupLocation=${dir.root}/solr4Backup/alfresco
solr.backup.archive.remoteBackupLocation=${dir.root}/solr4Backup/archive
# We are in the local DEV properties file, no need for Solr backup
solr.backup.alfresco.numberToKeep=0
solr.backup.archive.numberToKeep=0
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disasble them / set to future date
# 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
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
@@ -51,251 +63,16 @@ wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
# Fail or not when there are node integrity checker errors
integrity.failOnError=true
# database connection properties
# MySQL connection (This is default and requires mysql-connector-java-5.0.3-bin.jar, which ships with the Alfresco server)
# Database connection properties
db.driver=${alfresco.db.datasource.class}
db.url=${alfresco.db.url}
db.username=${alfresco.db.username}
db.password=${alfresco.db.password}
db.pool.initial=10
db.pool.max=100
#
# Sample custom content and index data location
#
#dir.root=/srv/alfresco/alf_data
#dir.keystore=${dir.root}/keystore
#
# Sample database connection properties
#
#db.username=alfresco
#db.password=alfresco
#
# External locations
#-------------
#ooo.exe=soffice
#ooo.enabled=false
#jodconverter.officeHome=./OpenOffice.org
#jodconverter.portNumbers=8101
#jodconverter.enabled=true
#img.root=./ImageMagick
#swf.exe=./bin/pdf2swf
#
# Property to control whether schema updates are performed automatically.
# Updates must be enabled during upgrades as, apart from the static upgrade scripts,
# there are also auto-generated update scripts that will need to be executed. After
# upgrading to a new version, this can be disabled.
#
#db.schema.update=true
#
# MySQL connection
#
#db.driver=org.gjt.mm.mysql.Driver
#db.url=jdbc:mysql://localhost/alfresco?useUnicode=yes&characterEncoding=UTF-8
#
# Oracle connection
#
#db.driver=oracle.jdbc.OracleDriver
#db.url=jdbc:oracle:thin:@localhost:1521:alfresco
#
# SQLServer connection
# Requires jTDS driver version 1.2.5 and SNAPSHOT isolation mode
# Enable TCP protocol on fixed port 1433
# Prepare the database with:
# ALTER DATABASE alfresco SET ALLOW_SNAPSHOT_ISOLATION ON;
#
#db.driver=net.sourceforge.jtds.jdbc.Driver
#db.url=jdbc:jtds:sqlserver://localhost:1433/alfresco
#db.txn.isolation=4096
#
# PostgreSQL connection (requires postgresql-8.2-504.jdbc3.jar or equivalent)
#
#db.driver=org.postgresql.Driver
#db.url=jdbc:postgresql://localhost:5432/alfresco
#
# DB2 connection
#
#db.driver=com.ibm.db2.jcc.DB2Driver
#db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true;
#
# Index Recovery Mode
#-------------
#index.recovery.mode=AUTO
#
# Outbound Email Configuration
#-------------
#mail.host=
#mail.port=25
#mail.username=anonymous
#mail.password=
#mail.encoding=UTF-8
#mail.from.default=alfresco@alfresco.org
#mail.smtp.auth=false
#
# Alfresco Email Service and Email Server
#-------------
# Enable/Disable the inbound email service. The service could be used by processes other than
# the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service.
#-------------
#email.inbound.enabled=true
# Email Server properties
#-------------
#email.server.enabled=true
#email.server.port=25
#email.server.domain=alfresco.com
#email.inbound.unknownUser=anonymous
# A comma separated list of email REGEX patterns of allowed senders.
# If there are any values in the list then all sender email addresses
# must match. For example:
# .*\@alfresco\.com, .*\@alfresco\.org
# Allow anyone:
#-------------
#email.server.allowed.senders=.*
#
# The default authentication chain
# To configure external authentication subsystems see:
# http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
#-------------
#authentication.chain=alfrescoNtlm1:alfrescoNtlm
#
# URL Generation Parameters (The ${localname} token is replaced by the local server name)
#-------------
#alfresco.context=alfresco
#alfresco.host=${localname}
#alfresco.port=8080
#alfresco.protocol=http
#
#share.context=share
#share.host=${localname}
#share.port=8080
#share.protocol=http
#imap.server.enabled=true
#imap.server.port=143
#imap.server.host=localhost
# Default value of alfresco.rmi.services.host is 0.0.0.0 which means 'listen on all adapters'.
# This allows connections to JMX both remotely and locally.
#
alfresco.rmi.services.host=0.0.0.0
#
# RMI service ports for the individual services.
# These seven services are available remotely.
#
# Assign individual ports for each service for best performance
# or run several services on the same port. You can even run everything on 50500 if needed.
#
# Select 0 to use a random unused port.
#
#avm.rmi.service.port=50501
#avmsync.rmi.service.port=50502
#attribute.rmi.service.port=50503
#authentication.rmi.service.port=50504
#repo.rmi.service.port=50505
#action.rmi.service.port=50506
#wcm-deployment-receiver.rmi.service.port=50507
#monitor.rmi.service.port=50508
# Dialect is autodetected starting from 3.2
# H2 dialect
#hibernate.dialect=org.hibernate.dialect.H2Dialect
# Property to control whether schema updates are performed automatically.
# Updates must be enabled during upgrades as, apart from the static upgrade scripts,
# there are also auto-generated update scripts that will need to be executed. After
# upgrading to a new version, this can be disabled.
#db.schema.update=true
hibernate.dialect=org.hibernate.dialect.H2Dialect
# File servers related properties
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
# For local runs we disable CIFS and FTP
cifs.enabled=false
ftp.enabled=false
ftp.port=1121
ftp.authenticator=alfresco
# This properties file is used to configure LDAP authentication
# NB: The following LDAP related properties are read only in case -Denteprise mvn build property is specified
# Wheter to allow silent deletion of users in the Alfresco UI (note: users will be then resynced in the next synchronization)
ldap.authentication.allowDeleteUser=true
# LDAP JNDI provider
ldap.authentication.provider=com.sun.jndi.ldap.LdapCtxFactory
# Url and protocol for LDAP server to carry authentication against
ldap.authentication.url=ldap://ldap.mycompany.com:636
# can be (simple, ssl)
ldap.authentication.protcol=ssl
# Credentials with full access to the directoty used
ldap.authentication.adminUser=ou=Admin,ou=Services,o=Company
ldap.authentication.adminPassword=secret
# Wheter to allow unauthenticated guest a read only login
ldap.authentication.guestLogin.allowed=false
# Wheter users can be created on the fly upon successful external (e.g. LDAP) authentication. Useful to avoid user synchronization in case just uid and pwd are needed for a user
server.transaction.allow-writes=true
# Wheter user names are case sensitive
user.name.caseSensitive=true
# Wheter the synchronization process has to process duplicated users (e.g. synced users and users coming from the sync)
personService.processDuplicates=true
# Which action to take when processin duplicates. One of: LEAVE, SPLIT, DELETE
personService.duplicateMode=DELETE
# Which of the users (in case of SPLIT duplicates policy) should be considered valid
personService.lastIsBest=true
# Wheter auto created users should be considered when processing duplicates
personService.includeAutoCreated=true
# The query to find the people to import
ldap.synchronisation.personQuery=(objectclass=inetOrgPerson)
# The search base of the query to find people to import
ldap.synchronisation.personSearchBase=ou=Identities,ou=mycompany,o=com
# The attribute name on people objects found in LDAP to use as the uid in Alfresco
ldap.synchronisation.userIdAttributeName=cn
# The attribute on person objects in LDAP to map to the first name property in Alfresco
ldap.synchronisation.userFirstNameAttributeName=givenName
# The attribute on person objects in LDAP to map to the last name property in Alfresco
ldap.synchronisation.userLastNameAttributeName=sn
# The attribute on person objects in LDAP to map to the email property in Alfresco
ldap.synchronisation.userEmailAttributeName=cn
# The attribute on person objects in LDAP to map to the organizational id property in Alfresco
ldap.synchronisation.userOrganizationalIdAttributeName=maildomain
# The default home folder provider to use for people created via LDAP import
ldap.synchronisation.defaultHomeFolderProvider=companyHomeFolderProvider
# The query to find group objects
ldap.synchronisation.groupQuery=(objectclass=AlfrescoGroup)
# The search base to use to find group objects
ldap.synchronisation.groupSearchBase=ou=AlfrescoGroups,ou=mycompany,o=com
# The attribute on LDAP group objects to map to the gid property in Alfrecso
ldap.synchronisation.groupIdAttributeName=cn
# The group type in LDAP
ldap.synchronisation.groupType=AlfrescoGroup
# The person type in LDAP
ldap.synchronisation.personType=inetOrgPerson
# The attribute in LDAP on group objects that defines the DN for its members
ldap.synchronisation.groupMemberAttributeName=member
# The cron expression defining when people imports should take place (e.g. every evening at 22:00 hours)
ldap.synchronisation.import.person.cron=0 0 22 * * ?
# The cron expression defining when group imports should take place (e.g. every evening at 21:45 hours)
ldap.synchronisation.import.group.cron=0 45 21 * * ?
# Should all groups be cleared out at import time?
# - this is safe as groups are not used in Alfresco for other things (unlike person objects which you should never clear out during an import)
# - setting this to true means old group definitions will be tidied up.
ldap.synchronisation.import.group.clearAllChildren=false
ftp.enabled=false

View File

@@ -1,2 +1,6 @@
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
# You can add here custom log4j classes. This will be merged with the main log4j.properties
# See http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Best_Log4j_Configuration_Practices
# See http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Best_Log4j_Configuration_Practices
log4j.logger.${package}.demoamp.DemoComponent=${app.log.root.level}

View File

@@ -0,0 +1,8 @@
@ECHO OFF
IF "%MAVEN_OPTS%" == "" (
ECHO The environment variable 'MAVEN_OPTS' is not set, setting it for you
SET MAVEN_OPTS=-Xms256m -Xmx2G -XX:PermSize=300m
)
ECHO MAVEN_OPTS is set to '%MAVEN_OPTS%'
mvn clean install -Prun

View File

@@ -1,9 +1,7 @@
#!/bin/bash
# Downloads the spring-loaded lib if not existing and runs the full all-in-one
# (Alfresco + Share + Solr) using the runner project
springloadedfile=~/.m2/repository/org/springframework/springloaded/@@springloaded.version@@/springloaded-@@springloaded.version@@.jar
if [ ! -f $springloadedfile ]; then
mvn validate -Psetup
if [[ -z ${MAVEN_OPTS} ]]; then
echo "The environment variable 'MAVEN_OPTS' is not set, setting it for you";
MAVEN_OPTS="-Xms256m -Xmx1524m -XX:PermSize=300m"
fi
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn install -Prun
echo "MAVEN_OPTS is set to '$MAVEN_OPTS'";
mvn clean install -Prun

View File

@@ -2,9 +2,9 @@
<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>Alfresco, Share and Solr Tomcat Runner</name>
<name>Alfresco, Share and Solr4 Tomcat Runner</name>
<packaging>pom</packaging>
<description>Alfresco, Share and Solr Tomcat Runner</description>
<description>Alfresco, Share and Solr4 Tomcat Runner</description>
<parent>
<groupId>${groupId}</groupId>
@@ -12,11 +12,26 @@
<version>${version}</version>
</parent>
<properties>
<!-- Bring in newer Spring with support for annotations, used for Page Object tests -->
<spring.version>4.1.6.RELEASE</spring.version>
</properties>
<profiles>
<profile>
<id>run</id>
<!-- TODO: figure out a way to define these properties in a parent POM, they are now also duplicated
in the solr-config/pom.xml -->
<properties>
<alfresco.solr.dir>${alfresco.data.location}/solr4</alfresco.solr.dir>
<alfresco.solr.home.dir>${alfresco.solr.dir}/config</alfresco.solr.home.dir>
<alfresco.solr.data.dir>${alfresco.solr.dir}/data</alfresco.solr.data.dir>
</properties>
<build>
<plugins>
<!-- Copy and filter webapp context files - output dir is runner/target/contexts -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
@@ -39,9 +54,37 @@
</execution>
</executions>
</plugin>
<!-- Run Tomcat 7 embedded with Alfresco.war and Share.war contexts.
The solr4.war is fetched directly from the Maven repo, it is not built like the other WARs.
Plugin version is picked up from alfresco-sdk-parent.pom pluginManagement definition,
which also brings in the H2 database lib -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<dependencies>
<!-- Bring in the H2 Database scripts needed when running embedded, they are now
available from the standard generated artifacts, no longer needed to be picked
up from the alfresco-rad project -->
<dependency>
<groupId>org.alfresco</groupId>
<artifactId>alfresco-repository</artifactId>
<version>${alfresco.version}</version>
<classifier>h2scripts</classifier>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Explicitly bring in the Plexus Archiver so assembly goes quicker -->
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-archiver</artifactId>
<version>2.3</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>run-wars</id>
@@ -53,26 +96,30 @@
</executions>
<configuration>
<ignorePackaging>true</ignorePackaging>
<!-- Make sure Catalina classes are picked up when we got virtual webapp contexts with classpaths -->
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
<path>/</path>
<systemProperties>
<solr.solr.home>${project.parent.basedir}/solr/solr_home</solr.solr.home>
<solr.solr.home>${alfresco.solr.home.dir}</solr.solr.home>
</systemProperties>
<!-- Should this class loader delegate to the parent class loader before searching its
own repositories (i.e. the usual Java2 delegation model) -->
<!-- Prevent parent classloader delegation, each webapp loads.
If set to true then you will get a truckload of Solr logging as
the alf_data_dev/solr4/config/log4j-solr.properties file is not picked up.
This also fixes issues with the Google Guava Library, which this tomcat plugin uses
version 10.0.1 of but Solr uses 14.0.1 -->
<delegate>false</delegate>
<!-- Encode url in UTF-8 for proper character handling -->
<uriEncoding>UTF-8</uriEncoding>
<webapps>
<webapp>
<groupId>${project.groupId}</groupId>
<artifactId>solr</artifactId>
<version>${project.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
<contextPath>/solr</contextPath>
<contextFile>${project.build.directory}/contexts/context-solr.xml</contextFile>
</webapp>
<webapp>
<groupId>${project.groupId}</groupId>
<artifactId>repo</artifactId>
<version>${project.version}</version>
<type>war</type>
<!-- Make sure webapp is loaded with context and everything,
if set to 'false' then you will get 404 when trying to access the webapp from browser -->
<asWebapp>true</asWebapp>
<contextPath>/alfresco</contextPath>
<contextFile>${project.build.directory}/contexts/context-repo.xml</contextFile>
@@ -86,24 +133,54 @@
<contextPath>/share</contextPath>
<contextFile>${project.build.directory}/contexts/context-share.xml</contextFile>
</webapp>
<webapp>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-solr4</artifactId>
<version>${alfresco.version}</version>
<type>war</type>
<asWebapp>true</asWebapp>
<contextPath>/solr4</contextPath>
<contextFile>${project.build.directory}/contexts/context-solr.xml</contextFile>
</webapp>
<webapp>
<groupId>org.alfresco</groupId>
<artifactId>api-explorer</artifactId>
<version>${maven.alfresco.api.explorer.version}</version>
<contextPath>/api-explorer</contextPath>
<type>war</type>
<asWebapp>true</asWebapp>
</webapp>
</webapps>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Runs regression tests using Alfresco Share PO (Page Object) vanilla Selenium / Webdrone driven functional test, during integration-test phase.
NOTE: Assumes an already running Alfresco + Share at the default location ${app.share.url} (e.g. by invoking -Prun,regression) -->
<!-- Runs Share User Interface regression tests using Alfresco Share PO (Page Object) vanilla Selenium / Webdrone (WebDriver wrapper).
NOTE: Assumes an already running Alfresco + Share at the default location ${share.client.url}
(e.g. by invoking:
$ mvn clean install -Prun,regression-testing
to run a specific test do:
$ mvn clean install -Prun,regression-testing -Dit.test=LoginPageTest
-->
<profile>
<id>regression</id>
<id>regression-testing</id>
<properties>
<!-- Re-configure Tomcat 7 Plugin (see run profile) to fork so we can run tests in parallel -->
<!-- Note. the fork option does not fork a new JVM. Rather it is run in a thread created by the
Maven Launcher class (org.codehaus.plexus.classworlds.launcher.Launcher) that is invoked by the mvn command. -->
<maven.tomcat.fork>true</maven.tomcat.fork>
<!-- The URL Under Test -->
<app.share.url>http://localhost:8080/share</app.share.url>
<!-- Make sure we are actually testing something -->
<skipTests>false</skipTests>
</properties>
<build>
<plugins>
<!-- Workaround for classloading issue in share-po (need to unpack it) -->
<!-- Need to unpack the tests becuase of Jiras: -->
<!-- https://jira.codehaus.org/browse/SUREFIRE-997 -->
<!-- https://jira.codehaus.org/browse/SUREFIRE-1024 -->
<!-- Workaround for classloading issue in share-po (need to unpack it)-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
@@ -121,71 +198,88 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<suiteXmlFiles>
<!-- Smaller test suite for Share, essential stuff like Login, Navigation, DocLib, and Search -->
<!-- Currently using our own config to be able to comment out one test class
<suiteXmlFile>${project.build.directory}/testng-resources/testng-alfresco-share.xml</suiteXmlFile> -->
<suiteXmlFile>${project.basedir}/test-ng/testng-alfresco-share.xml</suiteXmlFile>
</suiteXmlFiles>
<testClassesDirectory>${project.build.directory}/testng-resources</testClassesDirectory>
<systemPropertyVariables>
<!-- Where is the Alfresco Share Webapp that we are testing -->
<share.target>${share.client.url}</share.target>
</systemPropertyVariables>
<!-- The out-of-the-box Alfresco Share PO test classes does not follow the *IT.java
naming convention, they use *Test.java, so need to add that -->
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
<executions>
<execution>
<id>run-regression-tests</id>
<goals>
<goal>test</goal>
</goals>
<id>regression-tests</id>
<phase>integration-test</phase>
<configuration>
<systemProperties>
<share.target>${app.share.url}</share.target>
</systemProperties>
<dependenciesToScan>
<dependency>${alfresco.groupId}:share-po</dependency>
</dependenciesToScan>
<additionalClasspathElements>
<additionalClasspathElement>${project.build.directory}/testng-resources</additionalClasspathElement>
</additionalClasspathElements>
<suiteXmlFiles>
<suiteXmlFile>${project.build.directory}/testng-resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify-tests</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
It contains page objects such as LoginPage and it also brings
in selenium-grid and selenium. -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share-po</artifactId>
<version>${alfresco.version}</version>
<scope>test</scope>
</dependency>
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share-po</artifactId>
<version>${alfresco.version}</version>
<classifier>tests</classifier>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.2</version>
<scope>test</scope>
<!-- Exclude selenium as it is already brought in by share-po dependency above -->
<exclusions>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Test NG is defined with test scope in share-po, so need it here too -->
<!-- Alfresco code creates a wrapper around Test NG -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.1.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.1.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<groupId>org.alfresco.test</groupId>
<artifactId>alfresco-testng</artifactId>
<version>1.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
@@ -194,10 +288,181 @@
</exclusion>
</exclusions>
</dependency>
<!-- Bring in newer selenium version if required
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.48.0</version>
<scope>test</scope>
</dependency>
-->
<!-- Need to bring in a newer Spring that supports annotations, Alfresco brings in older one -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</profile>
<!-- Runs functional domain specific tests using Alfresco Share PO (Page Object) vanilla Selenium / Webdrone (WebDriver wrapper).
NOTE: Assumes an already running Alfresco + Share at the default location ${share.client.url}
(e.g. by invoking:
$ mvn clean install -Prun,functional-testing
to run a specific test do:
$ mvn clean install -Prun,functional-testing -Dit.test=DemoPageTestIT
-->
<profile>
<id>functional-testing</id>
<properties>
<!-- Re-configure Tomcat 7 Plugin (see run profile) to fork so we can run tests in parallel -->
<!-- Note. the fork option does not fork a new JVM. Rather it is run in a thread created by the
Maven Launcher class (org.codehaus.plexus.classworlds.launcher.Launcher) that is invoked by the mvn command. -->
<maven.tomcat.fork>true</maven.tomcat.fork>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${project.parent.basedir}/${rootArtifactId}-share-amp/target/test-classes/testng.xml</suiteXmlFile>
</suiteXmlFiles>
<testClassesDirectory>${project.parent.basedir}/${rootArtifactId}-share-amp/target/test-classes</testClassesDirectory>
<systemPropertyVariables>
<!-- Where is the Alfresco Share Webapp that we are testing -->
<share.target>${share.client.url}</share.target>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
<id>functional-tests</id>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify-tests</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
It contains page objects such as LoginPage and it also brings
in selenium-grid and selenium. -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share-po</artifactId>
<version>${alfresco.version}</version>
<scope>test</scope>
</dependency>
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share-po</artifactId>
<version>${alfresco.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
<!-- Exclude selenium as it is already brought in by share-po dependency above -->
<exclusions>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Test NG is defined with test scope in share-po, so need it here too -->
<!-- Alfresco code creates a wrapper around Test NG -->
<dependency>
<groupId>org.alfresco.test</groupId>
<artifactId>alfresco-testng</artifactId>
<version>1.1</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Bring in newer selenium version if required
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.48.0</version>
<scope>test</scope>
</dependency>
-->
<!-- Need to bring in a newer Spring that supports annotations, Alfresco brings in older one -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>

View File

@@ -10,7 +10,8 @@
<ul>
<li><a href="/share">Alfresco Share</a></li>
<li><a href="/alfresco">Alfresco Repository</a></li>
<li><a href="/solr">Alfresco Solr</a></li>
<li><a href="/api-explorer">Alfresco REST API Explorer</a></li>
<li><a href="/solr4">Alfresco Solr4</a></li>
</ul>
<p><b>Resources:</b></p>
<ul>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="1" parallel="tests" preserve-order="true" verbose="6" name="Alfresco Share UI Basic Regression Test">
<groups>
<run>
<include name="unit"/>
<include name="alfresco-one"/>
<exclude name=".*Bug42"/>
<exclude name=".*Bug"/>
<exclude name="chromeOnly"/>
<exclude name="Hybrid"/>
<exclude name="download"/>
<exclude name="communityIssue"/>
</run>
</groups>
<test name="LoginPageTest">
<classes>
<class name="org.alfresco.po.share.LoginPageTest" />
</classes>
</test>
<test name="NavigationBarTest">
<classes>
<class name="org.alfresco.po.share.NavigationBarTest" />
</classes>
</test>
<test name="LiveSearchDropdownTest">
<classes>
<class name="org.alfresco.po.share.search.LiveSearchDropdownTest" />
</classes>
</test>
<test name="FacetedSearchResultsPageTest">
<classes>
<class name="org.alfresco.po.share.search.FacetedSearchResultsPageTest" />
</classes>
</test>
<test name="DocumentDetailsPageTest">
<classes>
<class name="org.alfresco.po.share.site.document.DocumentDetailsPageTest"/>
</classes>
</test>
<test name="DocumentLibraryPageTest">
<classes>
<class name="org.alfresco.po.share.site.document.DocumentLibraryPageTest"/>
</classes>
</test>
<test name="FileDirectoryInfoTest">
<classes>
<class name="org.alfresco.po.share.site.document.FileDirectoryInfoTest">
<methods>
<!-- these currently take longer than 60 seconds for page rendering... -->
<exclude name="test107TagsForFolder" />
<exclude name="test114TagsForFile" />
</methods>
</class>
</classes>
</test>
<test name="FolderDetailsPageTest">
<classes>
<class name="org.alfresco.po.share.site.document.FolderDetailsPageTest"/>
</classes>
</test>
<test name="ManagePermissionsTest">
<classes>
<class name="org.alfresco.po.share.site.document.ManagePermissionsTest"/>
</classes>
</test>
<test name="InviteMembersPageTest">
<classes>
<class name="org.alfresco.po.share.site.InviteMembersPageTest" />
</classes>
</test>
<test name="SiteFinderPageTest">
<classes>
<class name="org.alfresco.po.share.site.SiteFinderPageTest" />
</classes>
</test>
</suite>

View File

@@ -1,14 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This context file is used only for rapid development, never installed released with the webapp -->
<!-- ===================================================================================================================
This context file is used only in a development IDE for rapid development,
it is never released with the Alfresco.war
=================================================================================================================-->
<!-- Setup a virtual context for the /alfresco webapp.
The run profile uses the tomcat7-maven-plugin to kick off the webapp and it is configured with the
webapp resources and path (i.e. /alfresco).
Note. Alfresco.war 5.0 does not have a webapp, just an index page, the Alfresco Explorer webapp is no longer available.
-->
<Context>
<Resources className="org.apache.naming.resources.VirtualDirContext" extraResourcePaths="/=${project.parent.basedir}/repo-amp/target/repo-amp/web" />
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-repo-amp/target/amp/web" />
<!-- IMPORTANT! The extraResourcePaths string need to be on one continues line, so if we add another Repo AMP,
it would look something like this:
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-repo-amp/target/amp/web,/=${project.parent.basedir}/component-a-repo/target/amp/web" />
-->
<!-- Configure where the Alfresco (alfresco.war) web application can load classes, test classes, and config files -->
<!-- Setup the virtual class path like this:
1) target/classes
2) target/amp/config
3) target/test-classes
This way mvn compile can be invoked and all changes will be picked up
-->
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
searchVirtualFirst="true"
virtualClasspath="${project.parent.basedir}/repo-amp/target/classes;${project.parent.basedir}/repo-amp/target/test-classes;${project.parent.basedir}/repo-amp/target/repo-amp/config" />
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
<JarScanner scanAllDirectories="true" />
searchVirtualFirst="true"
virtualClasspath="${project.parent.basedir}/${rootArtifactId}-repo-amp/target/classes;
${project.parent.basedir}/${rootArtifactId}-repo-amp/target/amp/config;
${project.parent.basedir}/${rootArtifactId}-repo-amp/target/test-classes" />
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
<JarScanner scanAllDirectories="true" />
</Context>

View File

@@ -1,13 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This context file is used only for rapid development, never installed released with the webapp -->
<Context docBase="../share/target/share">
<Resources className="org.apache.naming.resources.VirtualDirContext" extraResourcePaths="/=${project.parent.basedir}/share-amp/target/share-amp/web" />
<!-- ===================================================================================================================
This context file is used only in a development IDE for rapid development,
it is never released with the Share.war
=================================================================================================================-->
<!-- Setup a virtual context for the /share webapp.
The run profile uses the tomcat7-maven-plugin to kick off the webapp and it is configured with the
webapp resources and path (i.e. /share). -->
<Context>
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-share-amp/target/amp/web" />
<!-- IMPORTANT! The extraResourcePaths string need to be on one continues line, so if we add another Share AMP,
it would look something like this:
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.parent.basedir}/${rootArtifactId}-share-amp/target/amp/web,/=${project.parent.basedir}/component-a-share/target/amp/web" />
-->
<!-- Configure where the Share (share.war) web application can load classes, config, and test classes (in that order) -->
<!-- Setup the virtual class path like this:
1) ${rootArtifactId}-share-amp/target/classes
2) ${rootArtifactId}-share-amp/target/amp/config
3) ${rootArtifactId}-share-amp/target/test-classes
4) Add other AMP paths here....
5) share/target/test-classes (loads the share-config-custom.xml used during test runs)
This way mvn compile can be invoked and all changes will be picked up
-->
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
searchVirtualFirst="true"
virtualClasspath="${project.parent.basedir}/share-amp/target/classes;${project.parent.basedir}/share-amp/target/test-classes;${project.parent.basedir}/share-amp/target/share-amp/config" />
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
searchVirtualFirst="true"
virtualClasspath="${project.parent.basedir}/${rootArtifactId}-share-amp/target/classes;
${project.parent.basedir}/${rootArtifactId}-share-amp/target/amp/config;
${project.parent.basedir}/${rootArtifactId}-share-amp/target/test-classes;
${project.parent.basedir}/share/target/test-classes" />
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
<JarScanner scanAllDirectories="true" />
</Context>
</Context>

View File

@@ -1,12 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This context file is used only for rapid development, never installed released with the webapp -->
<Context docBase="${project.parent.basedir}/solr/target/solr">
<Loader delegate="false" className="org.apache.catalina.loader.VirtualWebappLoader"
searchVirtualFirst="true"
virtualClasspath="${project.parent.basedir}/share-amp/target/classes;${project.parent.basedir}/solr/target/test-classes;${project.parent.basedir}/solr/target/share-amp/config" />
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
<?xml version="1.0" encoding="utf-8"?>
<Context>
<Environment name="solr/home" type="java.lang.String" value="${alfresco.solr.home.dir}/" override="true"/>
<Environment name="solr/model/dir" type="java.lang.String" value="${alfresco.solr.home.dir}/alfrescoModels/" override="true"/>
<Environment name="solr/content/dir" type="java.lang.String" value="${alfresco.solr.data.dir}/content/" override="true"/>
<!-- Pick up static resource files from any Solr extensions, being it a JAR or an AMP,
by default there are no extensions, just the standard Solr webapp files.
(this should not include docBase)-->
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.parent.basedir}/runner/target/tomcat/webapps/alfresco-solr4" />
<!-- Configure where the Solr (solr4.war) web application can load classes, test classes, and config -->
<!-- Solr is not customized by default so just points to standard Solr classes. -->
<!-- Setup the virtual class path like this:
1) target/classes
3) target/test-classes
This way mvn compile can be invoked and all changes will be picked up-->
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
searchVirtualFirst="true"
virtualClasspath="${project.parent.basedir}/runner/target/tomcat/webapps/alfresco-solr4/WEB-INF/classes" />
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
<JarScanner scanAllDirectories="true" />
</Context>
</Context>

View File

@@ -1,56 +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>
<artifactId>${artifactId}</artifactId>
<name>Alfresco Share AMP Module</name>
<packaging>amp</packaging>
<description>This is a sample Alfresco Share AMP project, depended upon by the share WAR module</description>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<!--
| SDK properties have sensible defaults in the SDK parent,
| but you can override the properties below to use another version.
| For more available properties see the alfresco-sdk-parent POM.
-->
<properties>
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
| Allowed values: alfresco | share. In this case it's configured to use OOTB share -->
<alfresco.client.war>share</alfresco.client.war>
<!-- Since Alfresco is already running on port 8080, we run Share on port 8081 -->
<maven.tomcat.port>8081</maven.tomcat.port>
<!-- Used in share-config-custom.xml. By default points to standard location of Alfresco -->
<alfresco.repo.url>http://localhost:8080/alfresco</alfresco.repo.url>
<!-- Defines the log level used in log4j.properties -->
<app.log.root.level>WARN</app.log.root.level>
</properties>
<!-- Following dependencies are needed for compiling Java code in src/main/java;
<scope>provided</scope> is inherited for each of the following;
for more info, please refer to alfresco-platform-distribution POM -->
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>share</artifactId>
<version>${alfresco.version}</version>
<classifier>classes</classifier>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.extensions.surf</groupId>
<artifactId>spring-surf-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@@ -1,9 +0,0 @@
#!/bin/bash
# Downloads the spring-loaded lib if not existing and runs the share AMP
springloadedfile=~/.m2/repository/org/springframework/springloaded/${springloaded.version}/springloaded-${springloaded.version}.jar
if [ ! -f $springloadedfile ]; then
mvn validate -Psetup
fi
MAVEN_OPTS="-javaagent:$springloadedfile -noverify" mvn integration-test -Pamp-to-war

View File

@@ -1,27 +0,0 @@
model.jsonModel = {
widgets: [{
id: "SET_PAGE_TITLE",
name: "alfresco/header/SetTitle",
config: {
title: "This is a simple page"
}
},
{
id: "MY_HORIZONTAL_WIDGET_LAYOUT",
name: "alfresco/layout/HorizontalWidgets",
config: {
widgetWidth: 50,
widgets: [
{
name: "alfresco/logo/Logo",
config: {
logoClasses: "alfresco-logo-only"
}
},
{
name: "example/widgets/TemplateWidget"
}
]
}
}]
};

View File

@@ -1,422 +0,0 @@
<alfresco-config>
<!-- Global config section -->
<config replace="true">
<flags>
<!--
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
-->
<client-debug>false</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>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<!-- SpringSurf Autowire Runtime Settings -->
<!--
Developers can set mode to 'development' to disable; SpringSurf caches,
FreeMarker template caching and Rhino JavaScript compilation.
-->
<autowire>
<!-- Pick the mode: "production" or "development" -->
<mode>production</mode>
</autowire>
<!-- Allows extension modules with <auto-deploy> set to true to be automatically deployed -->
<module-deployment>
<mode>manual</mode>
<enable-auto-deploy-modules>true</enable-auto-deploy-modules>
</module-deployment>
</web-framework>
</config>
<!-- Disable the CSRF Token Filter -->
<!--
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
-->
<!--
To run the CSRF Token Filter behind 1 or more proxies that do not rewrite the Origin or Referere headers:
1. Copy the "CSRFPolicy" default config in share-security-config.xml and paste it into this file.
2. Replace the old config by setting the <config> element's "replace" attribute to "true" like below:
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
3. To every <action name="assertReferer"> element add the following child element
<param name="referer">http://www.proxy1.com/.*|http://www.proxy2.com/.*</param>
4. To every <action name="assertOrigin"> element add the following child element
<param name="origin">http://www.proxy1.com|http://www.proxy2.com</param>
-->
<!--
Remove the default wildcard setting and use instead a strict whitelist of the only domains that shall be allowed
to be used inside iframes (i.e. in the WebView dashlet on the dashboards)
-->
<!--
<config evaluator="string-compare" condition="IFramePolicy" replace="true">
<cross-domain>
<url>http://www.trusted-domain-1.com/</url>
<url>http://www.trusted-domain-2.com/</url>
</cross-domain>
</config>
-->
<!-- Turn off header that stops Share from being displayed in iframes on pages from other domains -->
<!--
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
<headers>
<header>
<name>X-Frame-Options</name>
<enabled>false</enabled>
</header>
</headers>
</config>
-->
<!-- Prevent browser communication over HTTP (for HTTPS servers) -->
<!--
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
<headers>
<header>
<name>Strict-Transport-Security</name>
<value>max-age=31536000</value>
</header>
</headers>
</config>
-->
<config evaluator="string-compare" condition="Replication">
<share-urls>
<!--
To discover a Repository Id, browse to the remote server's CMIS landing page at:
http://{server}:{port}/alfresco/service/cmis/index.html
The Repository Id field is found under the "CMIS Repository Information" expandable panel.
Example config entry:
<share-url repositoryId="622f9533-2a1e-48fe-af4e-ee9e41667ea4">http://new-york-office:8080/share/</share-url>
-->
</share-urls>
</config>
<!-- Document Library config section -->
<config evaluator="string-compare" condition="DocumentLibrary" replace="true">
<tree>
<!--
Whether the folder Tree component should enumerate child folders or not.
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
-->
<evaluate-child-folders>false</evaluate-child-folders>
<!--
Optionally limit the number of folders shown in treeview throughout Share.
-->
<maximum-folder-count>1000</maximum-folder-count>
<!--
Default timeout in milliseconds for folder Tree component to recieve response from Repository
-->
<timeout>7000</timeout>
</tree>
<!--
Used by the "Manage Aspects" action
For custom aspects, remember to also add the relevant i18n string(s)
cm_myaspect=My Aspect
-->
<aspects>
<!-- Aspects that a user can see -->
<visible>
<aspect name="cm:generalclassifiable" />
<aspect name="cm:complianceable" />
<aspect name="cm:dublincore" />
<aspect name="cm:effectivity" />
<aspect name="cm:summarizable" />
<aspect name="cm:versionable" />
<aspect name="cm:templatable" />
<aspect name="cm:emailed" />
<aspect name="emailserver:aliasable" />
<aspect name="cm:taggable" />
<aspect name="app:inlineeditable" />
<aspect name="gd:googleEditable" />
<aspect name="cm:geographic" />
<aspect name="exif:exif" />
<aspect name="audio:audio" />
<aspect name="cm:indexControl" />
<aspect name="dp:restrictable" />
</visible>
<!-- Aspects that a user can add. Same as "visible" if left empty -->
<addable>
</addable>
<!-- Aspects that a user can remove. Same as "visible" if left empty -->
<removeable>
</removeable>
</aspects>
<!--
Used by the "Change Type" action
Define valid subtypes using the following example:
<type name="cm:content">
<subtype name="cm:mysubtype" />
</type>
Remember to also add the relevant i18n string(s):
cm_mysubtype=My SubType
-->
<types>
<type name="cm:content">
</type>
<type name="cm:folder">
</type>
<type name="trx:transferTarget">
<subtype name="trx:fileTransferTarget" />
</type>
</types>
<!--
If set, will present a WebDAV link for the current item on the Document and Folder details pages.
Also used to generate the "View in Alfresco Explorer" action for folders.
-->
<repository-url>http://localhost:8080/alfresco</repository-url>
<!--
Google Docs integration
-->
<google-docs>
<!--
Enable/disable the Google Docs UI integration (Extra types on Create Content menu, Google Docs actions).
-->
<enabled>false</enabled>
<!--
The mimetypes of documents Google Docs allows you to create via the Share interface.
The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs&trade; Document
-->
<creatable-types>
<creatable type="doc">application/msword</creatable>
<creatable type="xls">application/vnd.ms-excel</creatable>
<creatable type="ppt">application/vnd.ms-powerpoint</creatable>
</creatable-types>
</google-docs>
<!--
File upload configuration
-->
<file-upload>
<!--
Adobe Flash™
In certain environments, an HTTP request originating from Flash cannot be authenticated using an existing session.
See: http://bugs.adobe.com/jira/browse/FP-4830
For these cases, it is useful to disable the Flash-based uploader for Share Document Libraries.
-->
<adobe-flash-enabled>true</adobe-flash-enabled>
</file-upload>
</config>
<!-- Custom DocLibActions config section -->
<config evaluator="string-compare" condition="DocLibActions">
<actionGroups>
<actionGroup id="document-browse">
<!-- Simple Repo Actions -->
<!--
<action index="340" id="document-extract-metadata" />
<action index="350" id="document-increment-counter" />
-->
<!-- Dialog Repo Actions -->
<!--
<action index="360" id="document-transform" />
<action index="370" id="document-transform-image" />
<action index="380" id="document-execute-script" />
-->
</actionGroup>
</actionGroups>
</config>
<!-- Global folder picker config section -->
<config evaluator="string-compare" condition="GlobalFolder">
<siteTree>
<container type="cm:folder">
<!-- Use a specific label for this container type in the tree -->
<rootLabel>location.path.documents</rootLabel>
<!-- Use a specific uri to retreive the child nodes for this container type in the tree -->
<uri>slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&amp;max={maximumFolderCountSite}</uri>
</container>
</siteTree>
</config>
<!-- Repository Library config section -->
<config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
<!--
Root nodeRef or xpath expression for top-level folder.
e.g. alfresco://user/home, /app:company_home/st:sites/cm:site1
If using an xpath expression, ensure it is properly ISO9075 encoded here.
-->
<root-node>alfresco://company/home</root-node>
<tree>
<!--
Whether the folder Tree component should enumerate child folders or not.
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
-->
<evaluate-child-folders>false</evaluate-child-folders>
<!--
Optionally limit the number of folders shown in treeview throughout Share.
-->
<maximum-folder-count>500</maximum-folder-count>
</tree>
<!--
Whether the link to the Repository Library appears in the header component or not.
-->
<visible>true</visible>
</config>
<!-- Kerberos settings -->
<!-- To enable kerberos rename this condition to "Kerberos" -->
<config evaluator="string-compare" condition="KerberosDisabled" replace="true">
<kerberos>
<!--
Password for HTTP service account.
The account name *must* be built from the HTTP server name, in the format :
HTTP/<server_name>@<realm>
(NB this is because the web browser requests an ST for the
HTTP/<server_name> principal in the current realm, so if we're to decode
that ST, it has to match.)
-->
<password>secret</password>
<!--
Kerberos realm and KDC address.
-->
<realm>ALFRESCO.ORG</realm>
<!--
Service Principal Name to use on the repository tier.
This must be like: HTTP/host.name@REALM
-->
<endpoint-spn>HTTP/repository.server.com@ALFRESCO.ORG</endpoint-spn>
<!--
JAAS login configuration entry name.
-->
<config-entry>ShareHTTP</config-entry>
</kerberos>
</config>
<!-- Uncomment and modify the URL to Activiti Admin Console if required. -->
<!--
<config evaluator="string-compare" condition="ActivitiAdmin" replace="true">
<activiti-admin-url>http://localhost:8080/alfresco/activiti-admin</activiti-admin-url>
</config>
-->
<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://localhost: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://localhost: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://localhost: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://localhost:8080/alfresco/activiti-admin</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
<!--
Overriding endpoints to reference an Alfresco server with external SSO enabled
NOTE: If utilising a load balancer between web-tier and repository cluster, the "sticky
sessions" feature of your load balancer must be used.
NOTE: If alfresco server location is not localhost:8080 then also combine changes from the
"example port config" section below.
*Optional* keystore contains SSL client certificate + trusted CAs.
Used to authenticate share to an external SSO system such as CAS
Remove the keystore section if not required i.e. for NTLM.
NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos"
NOTE: For external SSO, switch the endpoint connector to "AlfrescoHeader" and set
the userHeader to the name of the HTTP header that the external SSO
uses to provide the authenticated user name.
-->
<!--
<config evaluator="string-compare" condition="Remote">
<remote>
<keystore>
<path>alfresco/web-extension/alfresco-system.p12</path>
<type>pkcs12</type>
<password>alfresco-system</password>
</keystore>
<connector>
<id>alfrescoCookie</id>
<name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using cookie-based authentication</description>
<class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
</connector>
<connector>
<id>alfrescoHeader</id>
<name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using header and cookie-based authentication</description>
<class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
<userHeader>SsoUserHeader</userHeader>
</connector>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfrescoCookie</connector-id>
<endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>
</remote>
</config>
-->
</alfresco-config>

View File

@@ -1,74 +0,0 @@
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<mode>development</mode>
</autowire>
</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>
<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>${alfresco.repo.url}/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>${alfresco.repo.url}/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>${alfresco.repo.url}/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>${alfresco.repo.url}/activiti-admin</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
</alfresco-config>

View File

@@ -1,266 +0,0 @@
# This is a full override of Alfresco 4.2.b log4j.properties
# This file overwrites the alfresco.war log4j.properties
# Set root logger level to error
log4j.rootLogger=${app.log.root.level}, 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=${app.log.dir}alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
###### Hibernate specific appender definition #######
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
###### Log level overrides #######
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
# Hibernate
log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
log4j.logger.org.hibernate.type=warn
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
# Spring
log4j.logger.org.springframework=warn
# Turn off Spring remoting warnings that should really be info or debug.
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# Axis/WSS4J
log4j.logger.org.apache.axis=info
log4j.logger.org.apache.ws=info
# CXF
log4j.logger.org.apache.cxf=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# OpenOfficeConnection
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
# log prepared statement cache activity ###
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.repo.admin=info
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
log4j.logger.org.alfresco.repo.model.filefolder=warn
log4j.logger.org.alfresco.repo.tenant=info
log4j.logger.org.alfresco.repo.avm=info
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
log4j.logger.org.alfresco.repo.management.subsystems=warn
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
log4j.logger.org.alfresco.repo.security.sync=info
log4j.logger.org.alfresco.repo.security.person=info
log4j.logger.org.alfresco.sample=info
log4j.logger.org.alfresco.web=info
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
#log4j.logger.org.alfresco.web.bean.clipboard=debug
log4j.logger.org.alfresco.repo.webservice=info
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
#log4j.logger.org.alfresco.web.page=debug
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
log4j.logger.org.alfresco.web.ui.common.Utils=error
#log4j.logger.org.alfresco.web.ui.common.Utils=info
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
# Specific patches
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
log4j.logger.org.alfresco.repo.workflow=info
# CIFS server debugging
log4j.logger.org.alfresco.smb.protocol=error
#log4j.logger.org.alfresco.smb.protocol.auth=debug
#log4j.logger.org.alfresco.acegi=debug
# FTP server debugging
log4j.logger.org.alfresco.ftp.protocol=error
#log4j.logger.org.alfresco.ftp.server=debug
# WebDAV debugging
#log4j.logger.org.alfresco.webdav.protocol=debug
log4j.logger.org.alfresco.webdav.protocol=error
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Kerberos servlet filters
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
# File servers
log4j.logger.org.alfresco.fileserver=warn
# Repo filesystem debug logging
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
# AVM filesystem debug logging
#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
log4j.logger.org.alfresco.repo.node.integrity=ERROR
# Indexer debugging
log4j.logger.org.alfresco.repo.search.Indexer=error
#log4j.logger.org.alfresco.repo.search.Indexer=debug
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Forms debugging
# log4j.logger.org.alfresco.web.forms=debug
# log4j.logger.org.chiba.xml.xforms=debug
log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error
log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
log4j.logger.alfresco.missingProperties=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
# Dictionary/Model debugging
log4j.logger.org.alfresco.repo.dictionary=warn
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
# Virtualization Server Registry
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
# Spring context runtime property setter
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
# Debugging options for clustering
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
log4j.logger.org.alfresco.repo.content.replication=error
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
# Activity service
log4j.logger.org.alfresco.repo.activities=warn
# User usage tracking
log4j.logger.org.alfresco.repo.usage=info
# Sharepoint
log4j.logger.org.alfresco.module.vti=info
# Forms Engine
log4j.logger.org.alfresco.repo.forms=info
log4j.logger.org.alfresco.web.config.forms=info
log4j.logger.org.alfresco.web.scripts.forms=info
# CMIS
log4j.logger.org.alfresco.opencmis=error
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
log4j.logger.org.alfresco.cmis=error
log4j.logger.org.alfresco.cmis.dictionary=warn
log4j.logger.org.apache.chemistry.opencmis=info
# IMAP
log4j.logger.org.alfresco.repo.imap=info
# JBPM
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
#log4j.logger.org.alfresco.repo.googledocs=debug
###### Scripting #######
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Repository
log4j.logger.org.alfresco.repo.web.scripts=warn
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
log4j.logger.org.alfresco.repo.jscript=error
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
log4j.logger.org.alfresco.repo.avm.actions=info
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
# Metadata extraction
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
# Reduces PDFont error level due to ALF-7105
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
# no index support
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
log4j.logger.org.alfresco.demoamp.test=DEBUG

View File

@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file is included only when running this project with -Pamp-to-war -->
<Context docBase="${alfresco.client.war.folder}" path="${alfresco.client.contextPath}">
<Resources className="org.apache.naming.resources.VirtualDirContext"
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
<Loader searchVirtualFirst="true" className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="${project.build.outputDirectory};${project.build.testOutputDirectory};${project.build.directory}/${project.build.finalName}/config" />
<!--
<Environment override="false" type="java.lang.Boolean" name="properties/startup.enable" description="A flag that globally enables or disables startup of the major Alfresco subsystems." value="true"/>
<Environment override="false" type="java.lang.String" name="properties/dir.root" description="The filesystem directory below which content and index data is stored. Should be on a shared disk if this is a clustered installation."/>
<Environment override="false" type="java.lang.String" name="properties/hibernate.dialect" description="The fully qualified name of a org.hibernate.dialect.Dialect subclass that allows Hibernate to generate SQL optimized for a particular relational database. Choose from org.hibernate.dialect.DerbyDialect, org.hibernate.dialect.MySQLInnoDBDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSybaseAnywhereDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSQLServerDialect, org.hibernate.dialect.PostgreSQLDialect"/>
<Environment override="false" type="java.lang.String" name="properties/hibernate.query.substitutions" description="Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to &quot;true TRUE, false FALSE&quot;."/>
<Environment override="false" type="java.lang.Boolean" name="properties/hibernate.jdbc.use_get_generated_keys" description="Enable use of JDBC3 PreparedStatement.getGeneratedKeys() to retrieve natively generated keys after insert. Requires JDBC3+ driver. Set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."/>
<Environment override="false" type="java.lang.String" name="properties/hibernate.default_schema" description="Qualify unqualified table names with the given schema/tablespace in generated SQL. It may be necessary to set this when the target database has more than one schema."/>
-->
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
<JarScanner scanAllDirectories="true" />
</Context>

View File

@@ -13,6 +13,12 @@
<version>${version}</version>
</parent>
<properties>
<!-- Used in share-config-custom.xml when testing.
By default points to standard location (local) of Alfresco Repository -->
<alfresco.repo.url>http://localhost:8080/alfresco</alfresco.repo.url>
</properties>
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
@@ -23,16 +29,53 @@
<!-- Demonstrating the dependency / installation of the share AMP developed in the 'share-amp' module -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>share-amp</artifactId>
<artifactId>${rootArtifactId}-share-amp</artifactId>
<version>${project.version}</version>
<type>amp</type>
</dependency>
<!-- Uncomment if you are using RM (Records Management) module -->
<!-- Make sure to set the correct version for 5.1 with alfresco.rm.version property in parent POM
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-rm-share</artifactId>
<version>${alfresco.rm.version}</version>
<type>amp</type>
</dependency>
-->
</dependencies>
<build>
<plugins>
<plugin>
<!-- Bring in the Maven Dependency plugin so we can unpack and store the MANIFEST.MF file.
It will be used in the custom Share WAR that is produced by the WAR plugin,
it otherwise gets overwritten by the overlay process. -->
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>generate-sources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeTypes>war</includeTypes>
<includeGroupIds>org.alfresco</includeGroupIds>
<includeArtifactIds>share</includeArtifactIds>
<includes>META-INF/MANIFEST.MF</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!-- Bring in the MANIFEST.MF file from the original share.war, it contains version information
that is needed for it to operate properly -->
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifestFile>${project.build.directory}/dependency/META-INF/MANIFEST.MF</manifestFile>
</archive>
<!-- Here is can control the order of overlay of your (WAR, AMP, etc.) dependencies
| NOTE: At least one WAR dependency must be uncompressed first
| NOTE: In order to have a dependency effectively added to the WAR you need to
@@ -40,7 +83,7 @@
| NOTE: First-win resource strategy is used by the WAR plugin
-->
<overlays>
<!-- The current project customizations -->
<!-- Current project customizations. This is normally empty, since customizations come from the AMPs -->
<overlay/>
<!-- The Share WAR -->
<overlay>
@@ -53,61 +96,20 @@
<!-- Add / sort your AMPs here -->
<overlay>
<groupId>${project.groupId}</groupId>
<artifactId>share-amp</artifactId>
<artifactId>${rootArtifactId}-share-amp</artifactId>
<type>amp</type>
</overlay>
<!-- Uncomment if you are using RM module -->
<!--
<overlay>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-rm-share</artifactId>
<type>amp</type>
</overlay>
-->
</overlays>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!-- Installs the needed runtime component for an Alfresco RM (Records Management) project -->
<profile>
<id>rm</id>
<properties>
<alfresco.rm.artifactId>alfresco-rm-share</alfresco.rm.artifactId>
</properties>
<build>
<plugins>
<!-- Fetch Alfresco RM repo AMP -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>get-rm-share</id>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifact>${app.rm.artifact}</artifact>
<outputDirectory>${app.rm.amps.location}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- The current AMP artifact is installed into the Alfresco folder using alfresco-maven-plugin -->
<plugin>
<groupId>org.alfresco.maven.plugin</groupId>
<artifactId>alfresco-maven-plugin</artifactId>
<executions>
<execution>
<id>install-rm-share</id>
<phase>package</phase>
<goals>
<goal>install</goal>
</goals>
</execution>
</executions>
<configuration>
<ampLocation>${app.rm.amps.location}</ampLocation>
<warLocation>${app.rm.war.location}</warLocation>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -1,8 +0,0 @@
# SHARE client environment dependent properties (local build)
share.server.scheme=http
share.server.name=localhost
share.server.port=${jetty.port}
alfresco.server.scheme=http
alfresco.server.name=localhost
alfresco.server.port=${jetty.port}
alfresco.webapp.name=alfresco

View File

@@ -1,12 +1,18 @@
<!-- Alfresco 5.0.d custom-slingshot-application-context.xml sample
Note. Any configuration related to a specific Share extension
(such as evaluator bean and message resource bean) should be
placed in the specific extension config file, such as for example
alfresco-allinone/share-amp/src/main/amp/config/alfresco/web-extension/custom-slingshot-application-context.xml
-->
<?xml version='1.0' encoding='UTF-8'?>
<!-- This is a sample configuration file from Alfresco Community 4.2.b - Please adapt to your version -->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:hz="http://www.hazelcast.com/schema/config"
xmlns:hz="http://www.hazelcast.com/schema/spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.hazelcast.com/schema/config
http://www.hazelcast.com/schema/config/hazelcast-spring.xsd">
http://www.hazelcast.com/schema/spring
http://www.hazelcast.com/schema/spring/hazelcast-spring-2.4.xsd">
<!--
Hazelcast distributed messaging configuration - Share web-tier cluster config (3.4.8 and 4.0.1)
@@ -47,6 +53,7 @@
<bean id="webframework.factory.requestcontext.servlet" class="org.alfresco.web.site.ClusterAwareRequestContextFactory" parent="webframework.factory.base">
<property name="linkBuilderFactory" ref="webframework.factory.linkbuilder.servlet" />
<property name="extensibilityModuleHandler" ref="webscripts.extensibility.handler" />
<property name="dependencyHandler" ref="dependency.handler" />
<property name="clusterObjectPersister" ref="webframework.slingshot.persister.remote" />
</bean>
-->

View File

@@ -1,4 +1,11 @@
<!-- This is a sample configuration file from Alfresco Community 4.2.b - Please adapt to your version -->
<!-- Alfresco 5.0.d share-config-custom.xml sample.
Note:
Any configuration related to a specific Share AMP extension
(such as doclib action config and form config)
should be added to that extension's custom config
(i.e. into the share-amp/src/main/resources/META-INF/share-config-custom.xml)
-->
<alfresco-config>
<!-- Global config section -->
@@ -37,6 +44,62 @@
</web-framework>
</config>
<!-- Disable the CSRF Token Filter -->
<!--
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
<filter/>
</config>
-->
<!--
To run the CSRF Token Filter behind 1 or more proxies that do not rewrite the Origin or Referere headers:
1. Copy the "CSRFPolicy" default config in share-security-config.xml and paste it into this file.
2. Replace the old config by setting the <config> element's "replace" attribute to "true" like below:
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
3. To every <action name="assertReferer"> element add the following child element
<param name="referer">http://www.proxy1.com/.*|http://www.proxy2.com/.*</param>
4. To every <action name="assertOrigin"> element add the following child element
<param name="origin">http://www.proxy1.com|http://www.proxy2.com</param>
-->
<!--
Remove the default wildcard setting and use instead a strict whitelist of the only domains that shall be allowed
to be used inside iframes (i.e. in the WebView dashlet on the dashboards)
-->
<!--
<config evaluator="string-compare" condition="IFramePolicy" replace="true">
<cross-domain>
<url>http://www.trusted-domain-1.com/</url>
<url>http://www.trusted-domain-2.com/</url>
</cross-domain>
</config>
-->
<!-- Turn off header that stops Share from being displayed in iframes on pages from other domains -->
<!--
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
<headers>
<header>
<name>X-Frame-Options</name>
<enabled>false</enabled>
</header>
</headers>
</config>
-->
<!-- Prevent browser communication over HTTP (for HTTPS servers) -->
<!--
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
<headers>
<header>
<name>Strict-Transport-Security</name>
<value>max-age=31536000</value>
</header>
</headers>
</config>
-->
<config evaluator="string-compare" condition="Replication">
<share-urls>
<!--
@@ -63,7 +126,12 @@
<!--
Optionally limit the number of folders shown in treeview throughout Share.
-->
<maximum-folder-count>-1</maximum-folder-count>
<maximum-folder-count>1000</maximum-folder-count>
<!--
Default timeout in milliseconds for folder Tree component to recieve response from Repository
-->
<timeout>7000</timeout>
</tree>
<!--
@@ -86,9 +154,11 @@
<aspect name="emailserver:aliasable" />
<aspect name="cm:taggable" />
<aspect name="app:inlineeditable" />
<aspect name="gd:googleEditable" />
<aspect name="cm:geographic" />
<aspect name="exif:exif" />
<aspect name="audio:audio" />
<aspect name="cm:indexControl" />
<aspect name="dp:restrictable" />
</visible>
<!-- Aspects that a user can add. Same as "visible" if left empty -->
@@ -117,6 +187,10 @@
<type name="cm:folder">
</type>
<type name="trx:transferTarget">
<subtype name="trx:fileTransferTarget" />
</type>
</types>
<!--
@@ -139,8 +213,8 @@
The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs&trade; Document
-->
<creatable-types>
<creatable type="doc">application/msword</creatable>
<creatable type="xls">application/vnd.ms-excel</creatable>
<creatable type="doc">application/vnd.openxmlformats-officedocument.wordprocessingml.document</creatable>
<creatable type="xls">application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</creatable>
<creatable type="ppt">application/vnd.ms-powerpoint</creatable>
</creatable-types>
</google-docs>
@@ -209,14 +283,19 @@
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
-->
<evaluate-child-folders>false</evaluate-child-folders>
<!--
Optionally limit the number of folders shown in treeview throughout Share.
-->
<maximum-folder-count>500</maximum-folder-count>
</tree>
<!--
Whether the link to the Repository Library appears in the header component or not.
-->
<visible>true</visible>
</config>
<!-- Kerberos settings -->
<!-- To enable kerberos rename this condition to "Kerberos" -->
<config evaluator="string-compare" condition="KerberosDisabled" replace="true">
@@ -243,11 +322,21 @@
JAAS login configuration entry name.
-->
<config-entry>ShareHTTP</config-entry>
<!--
A Boolean which when true strips the @domain sufix from Kerberos authenticated usernames.
Use together with stripUsernameSuffix property in alfresco-global.properties file.
-->
<stripUserNameSuffix>true</stripUserNameSuffix>
</kerberos>
</config>
<!-- example port config used to access remote Alfresco server (default is 8080) -->
<!-- Uncomment and modify the URL to Activiti Admin Console if required. -->
<!--
<config evaluator="string-compare" condition="ActivitiAdmin" replace="true">
<activiti-admin-url>http://localhost:8080/alfresco/activiti-admin</activiti-admin-url>
</config>
-->
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
@@ -277,20 +366,21 @@
<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://localhost:8080/alfresco/activiti-admin</endpoint-url>
<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://localhost:8080/alfresco/api</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
-->
<!--
<!--
Overriding endpoints to reference an Alfresco server with external SSO enabled
NOTE: If utilising a load balancer between web-tier and repository cluster, the "sticky
sessions" feature of your load balancer must be used.
@@ -299,12 +389,23 @@
*Optional* keystore contains SSL client certificate + trusted CAs.
Used to authenticate share to an external SSO system such as CAS
Remove the keystore section if not required i.e. for NTLM.
NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos"
NOTE: For external SSO, switch the endpoint connector to "AlfrescoHeader" and set
the userHeader to the name of the HTTP header that the external SSO
NOTE: For external SSO, switch the endpoint connector to "alfrescoHeader" and set
the userHeader value to the name of the HTTP header that the external SSO
uses to provide the authenticated user name.
NOTE: For external SSO, Share now supports the "userIdPattern" mechanism as is available
on the repository config for External Authentication sub-system. Add the following
element to your "alfrescoHeader" connector config:
<userIdPattern>^ignore-(\w+)-ignore</userIdPattern>
This is an example, ensure the Id pattern matches your repository config.
NOTE: For external SSO, Share now supports stateless (no Http Session or sticky session)
connection to the repository when using the alfrescoHeader remote user connector.
e.g. You can change endpoint config to use the faster /service URL instead of the
/wcs URL if you are using External Authentication and then remove sticky session config
from your proxy between Share and Alfresco. Note that this is also faster because Share
will no longer call the /touch REST API before every remote call to the repository.
-->
<!--
<config evaluator="string-compare" condition="Remote">
@@ -314,14 +415,14 @@
<type>pkcs12</type>
<password>alfresco-system</password>
</keystore>
<connector>
<id>alfrescoCookie</id>
<name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using cookie-based authentication</description>
<class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
</connector>
<connector>
<id>alfrescoHeader</id>
<name>Alfresco Connector</name>
@@ -339,8 +440,50 @@
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<parent-id>alfresco</parent-id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>alfrescoHeader</connector-id>
<endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</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>alfrescoHeader</connector-id>
<endpoint-url>http://localhost:8080/alfresco/api</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>
</remote>
</config>
-->
<!-- Cookie settings -->
<!-- To disable alfUsername2 cookie set enableCookie value to "false" -->
<!--
<plug-ins>
<element-readers>
<element-reader element-name="cookie" class="org.alfresco.web.config.cookie.CookieElementReader"/>
</element-readers>
</plug-ins>
<config evaluator="string-compare" condition="Cookie" replace="true">
<cookie>
<enableCookie>false</enableCookie>
<cookies-to-remove>
<cookie-to-remove>alfUsername3</cookie-to-remove>
<cookie-to-remove>alfLogin</cookie-to-remove>
</cookies-to-remove>
</cookie>
</config>
-->
</alfresco-config>

View File

@@ -1,5 +1,5 @@
# Set root logger level to error
log4j.rootLogger=${app.log.root.level}, Console, File
log4j.rootLogger=error, Console, File
###### Console appender definition #######
@@ -17,27 +17,7 @@ log4j.appender.File.File=${app.log.dir}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{ABSOLUTE} %-5p [%c] %m%n
###### Hibernate specific appender definition #######
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
###### Log level overrides #######
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
# Hibernate
log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
log4j.logger.org.hibernate.type=warn
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# Spring
log4j.logger.org.springframework=warn
@@ -45,218 +25,23 @@ log4j.logger.org.springframework=warn
log4j.logger.org.springframework.remoting.support=error
log4j.logger.org.springframework.util=error
# Axis/WSS4J
log4j.logger.org.apache.axis=info
log4j.logger.org.apache.ws=info
# CXF
log4j.logger.org.apache.cxf=error
# MyFaces
log4j.logger.org.apache.myfaces.util.DebugUtils=info
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
log4j.logger.org.apache.myfaces.taglib=error
# OpenOfficeConnection
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
# log prepared statement cache activity ###
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
# Alfresco
log4j.logger.org.alfresco=error
log4j.logger.org.alfresco.repo.admin=info
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
log4j.logger.org.alfresco.repo.model.filefolder=warn
log4j.logger.org.alfresco.repo.tenant=info
log4j.logger.org.alfresco.repo.avm=info
log4j.logger.org.alfresco.config=warn
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
log4j.logger.org.alfresco.repo.management.subsystems=warn
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
log4j.logger.org.alfresco.repo.security.sync=info
log4j.logger.org.alfresco.repo.security.person=info
log4j.logger.org.alfresco.sample=info
log4j.logger.org.alfresco.web=info
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
#log4j.logger.org.alfresco.web.bean.clipboard=debug
log4j.logger.org.alfresco.repo.webservice=info
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
#log4j.logger.org.alfresco.web.page=debug
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
log4j.logger.org.alfresco.web.ui.common.Utils=error
#log4j.logger.org.alfresco.web.ui.common.Utils=info
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
# Specific patches
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
log4j.logger.org.alfresco.repo.workflow=info
# CIFS server debugging
log4j.logger.org.alfresco.smb.protocol=error
#log4j.logger.org.alfresco.smb.protocol.auth=debug
#log4j.logger.org.alfresco.acegi=debug
# FTP server debugging
log4j.logger.org.alfresco.ftp.protocol=error
#log4j.logger.org.alfresco.ftp.server=debug
# WebDAV debugging
#log4j.logger.org.alfresco.webdav.protocol=debug
log4j.logger.org.alfresco.webdav.protocol=error
# NTLM servlet filters
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
# Kerberos servlet filters
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
# File servers
log4j.logger.org.alfresco.fileserver=warn
# Repo filesystem debug logging
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
# AVM filesystem debug logging
#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
log4j.logger.org.alfresco.repo.node.integrity=ERROR
# Indexer debugging
log4j.logger.org.alfresco.repo.search.Indexer=error
#log4j.logger.org.alfresco.repo.search.Indexer=debug
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
# Audit debugging
# log4j.logger.org.alfresco.repo.audit=DEBUG
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
# Forms debugging
# log4j.logger.org.alfresco.web.forms=debug
# log4j.logger.org.chiba.xml.xforms=debug
log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error
log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error
# Property sheet and modelling debugging
# change to error to hide the warnings about missing properties and associations
log4j.logger.alfresco.missingProperties=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
# Dictionary/Model debugging
log4j.logger.org.alfresco.repo.dictionary=warn
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
# Virtualization Server Registry
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
# Spring context runtime property setter
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
# Debugging options for clustering
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
log4j.logger.org.alfresco.repo.content.replication=error
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
# Activity service
log4j.logger.org.alfresco.repo.activities=warn
# User usage tracking
log4j.logger.org.alfresco.repo.usage=info
# Sharepoint
log4j.logger.org.alfresco.module.vti=info
# Forms Engine
log4j.logger.org.alfresco.repo.forms=info
log4j.logger.org.alfresco.web.config.forms=info
log4j.logger.org.alfresco.web.scripts.forms=info
# CMIS
log4j.logger.org.alfresco.opencmis=error
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
log4j.logger.org.alfresco.cmis=error
log4j.logger.org.alfresco.cmis.dictionary=warn
log4j.logger.org.apache.chemistry.opencmis=info
# IMAP
log4j.logger.org.alfresco.repo.imap=info
# JBPM
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
#log4j.logger.org.alfresco.repo.googledocs=debug
###### Scripting #######
# Web Framework
log4j.logger.org.springframework.extensions.webscripts=info
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
# Repository
log4j.logger.org.alfresco.repo.web.scripts=warn
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
log4j.logger.org.alfresco.repo.jscript=error
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
log4j.logger.org.alfresco.repo.avm.actions=info
# Freemarker
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
log4j.logger.freemarker.runtime=
# Metadata extraction
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
# Reduces PDFont error level due to ALF-7105
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
# no index support
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
log4j.logger.freemarker.runtime=

View File

@@ -1,12 +1,25 @@
<alfresco-config>
<config evaluator="string-compare" condition="WebFramework">
<web-framework>
<autowire>
<mode>development</mode>
</autowire>
</web-framework>
</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 -->
@@ -24,12 +37,18 @@
</flags>
</config>
<!-- Disable CSRF completely for now -->
<!-- It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy -->
<!--
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/>
<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>

View File

@@ -0,0 +1,52 @@
# This file is copied from Alfresco Share 5.0.d
# Overrides tomcat/webapps/share/WEB-INF/classes/log4j,properties
# and sets new file location from property and log level from property.
#
# Set root logger level to error
log4j.rootLogger=${app.log.root.level}, 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=${app.log.dir}alfresco.log
log4j.appender.File.Append=true
log4j.appender.File.DatePattern='.'yyyy-MM-dd
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
# 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=

View File

@@ -0,0 +1,129 @@
<?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>solr-config</artifactId>
<packaging>pom</packaging>
<name>Alfresco Solr 4 Configuration</name>
<description>Apache Solr 4 Configuration Customization</description>
<!-- Setup the parent extension project, which contain all the Alfresco Maven SDK stuff -->
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<!-- Build Solr Configuration only when we run an embedded Tomcat (i.e. profile run is enabled).
We assume that there is no need to customize Apache Solr 4 itself. -->
<profiles>
<profile>
<id>run</id>
<properties>
<alfresco.solr.dir>${alfresco.data.location}/solr4</alfresco.solr.dir>
<alfresco.solr.home.dir>${alfresco.solr.dir}/config</alfresco.solr.home.dir>
<alfresco.solr.data.dir>${alfresco.solr.dir}/data</alfresco.solr.data.dir>
</properties>
<dependencies>
<!-- Download the default Solr4-config.zip Configuration files,
they will be updated so we can run locally over HTTP -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-solr4</artifactId>
<version>${alfresco.version}</version>
<classifier>config</classifier>
<type>zip</type>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Run goal unpack and unzip the content of the downloaded default solr-config.zip file into the
alfresco-maven-sdk2-test/alf_data_dev/solr4/config directory
(The solr-config.zip is brought in via the dependency section) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-alfresco-config</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${alfresco.solr.home.dir}</outputDirectory>
<artifactItems>
<artifactItem>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-solr4</artifactId>
<version>${alfresco.version}</version>
<classifier>config</classifier>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<!-- For windows paths, convert single \ to / for the ${alfresco.solr.data.dir} path,
by default it will be c:\bla\, we need forward slash or double backslash. -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>regexp-property</id>
<phase>generate-resources</phase>
<goals>
<goal>regex-property</goal>
</goals>
</execution>
</executions>
<configuration>
<name>solrDataDir</name>
<value>${alfresco.solr.data.dir}</value>
<regex>\\</regex>
<replacement>/</replacement>
<failIfNoMatch>false</failIfNoMatch>
</configuration>
</plugin>
<!-- Run the goal replace and update configuration files for the
Solr cores to reflect our build structure -->
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<executions>
<execution>
<id>setup-solr-config</id>
<phase>generate-resources</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<regex>false</regex>
<includes>
<include>${alfresco.solr.home.dir}/archive-SpacesStore/conf/solrcore.properties</include>
<include>${alfresco.solr.home.dir}/workspace-SpacesStore/conf/solrcore.properties</include>
</includes>
<replacements>
<replacement>
<token>@@ALFRESCO_SOLR4_DATA_DIR@@</token>
<value>${solrDataDir}/index</value>
</replacement>
</replacements>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -1,202 +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>
<artifactId>${artifactId}</artifactId>
<name>Alfresco Apache Solr Customization Project</name>
<packaging>war</packaging>
<description>Alfresco Apache Solr Customization</description>
<parent>
<groupId>${groupId}</groupId>
<artifactId>${rootArtifactId}</artifactId>
<version>${version}</version>
</parent>
<!-- The folder where the solr.home directory will be created. NOTE: this doesn't get cleaned by mvn clean, you need to invoke -Ppurge to clean this folder or remove it manually -->
<properties>
<alfresco.solr.dir>${project.basedir}/solr_home</alfresco.solr.dir>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<!-- Copies overridden / custom configurations to solr -->
<executions>
<execution>
<id>copy-solr-properties</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${alfresco.solr.dir}</outputDirectory>
<resources>
<resource>
<directory>src/main/solr-properties/archive</directory>
<filtering>true</filtering>
<targetPath>${alfresco.solr.dir}/archive-SpacesStore/conf</targetPath>
</resource>
<resource>
<directory>src/main/solr-properties/workspace</directory>
<filtering>true</filtering>
<targetPath>${alfresco.solr.dir}/workspace-SpacesStore/conf</targetPath>
</resource>
<resource>
<directory>src/main/solr-properties</directory>
<filtering>true</filtering>
<includes>
<include>log4j-solr.properties</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- Allows packaging of solr-home in a zip package with the 'config' classifier -->
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>src/assembly/solr-config-assembly.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<!-- The solr war -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-solr</artifactId>
<version>${alfresco.version}</version>
<type>war</type>
</dependency>
<!-- The Alfresco solr classes for compilation purposes -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-solr</artifactId>
<version>${alfresco.version}</version>
<classifier>classes</classifier>
<type>jar</type>
<scope>provided</scope>
</dependency>
<!-- The Zipped solr.home default configuration -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-solr</artifactId>
<classifier>config</classifier>
<version>${alfresco.version}</version>
<type>zip</type>
</dependency>
</dependencies>
<!-- Performs operations needed to run solr embedded (e.g. disable HTTPs) -->
<profiles>
<profile>
<id>run</id>
<properties>
<app.solr.patches.folder>${project.build.directory}/${project.build.finalName}-patches</app.solr.patches.folder>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-alfresco-config</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<outputDirectory>${alfresco.solr.dir}</outputDirectory>
<artifactItems>
<artifactItem>
<artifactId>alfresco-solr</artifactId>
<groupId>${alfresco.groupId}</groupId>
<classifier>config</classifier>
<version>${alfresco.version}</version>
<type>zip</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<executions>
<execution>
<id>unpack-solr-war</id>
<phase>prepare-package</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
<execution>
<id>default-war</id>
<configuration>
<webXml>${app.solr.patches.folder}/WEB-INF/web.xml</webXml>
</configuration>
</execution>
</executions>
</plugin>
<!-- Replaces web.xml where applicable, commenting out the security-constraints -->
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<executions>
<execution>
<id>disable-securecomms</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<file>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</file>
<outputDir>${app.solr.patches.folder}/WEB-INF</outputDir>
<preserveDir>false</preserveDir>
<replacements>
<replacement>
<token><![CDATA[<!-- <security-constraint>]]></token>
<value><![CDATA[<security-constraint>]]></value>
</replacement>
<replacement>
<token><![CDATA[</security-role> -->]]></token>
<value><![CDATA[</security-role>]]></value>
</replacement>
<replacement>
<token><![CDATA[<security-constraint>]]></token>
<value><![CDATA[<!-- <security-constraint>]]></value>
</replacement>
<replacement>
<token><![CDATA[</security-role>]]></token>
<value><![CDATA[</security-role> -->]]></value>
</replacement>
</replacements>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -1,19 +0,0 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>config</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.basedir}/solr_home</directory>
<!-- Excludes data -->
<excludes>
<exclude>archive/**</exclude>
<exclude>workspace/**</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>

View File

@@ -1,84 +0,0 @@
#
# solrcore.properties - used in solrconfig.xml
#
# data is in ${data.dir.root}/${data.dir.store}
data.dir.root=${alfresco.solr.dir}
data.dir.store=archive/SpacesStore
enable.alfresco.tracking=true
cache.alfresco.size=100
max.field.length=2147483647
#
# Properties loaded during alfresco tracking
#
alfresco.host=localhost
alfresco.port=8080
alfresco.port.ssl=8443
alfresco.baseUrl=/alfresco
alfresco.cron=0/15 * * * * ? *
alfresco.stores=archive://SpacesStore
alfresco.lag=1000
alfresco.hole.retention=3600000
alfresco.batch.count=1000
# encryption
# none, https
alfresco.secureComms=none
# ssl
alfresco.encryption.ssl.keystore.type=JCEKS
alfresco.encryption.ssl.keystore.provider=
alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore
alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties
alfresco.encryption.ssl.truststore.type=JCEKS
alfresco.encryption.ssl.truststore.provider=
alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore
alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties
## Tracking
alfresco.enableMultiThreadedTracking=true
alfresco.corePoolSize=3
alfresco.maximumPoolSize=-1
alfresco.keepAliveTime=120
alfresco.threadPriority=5
alfresco.threadDaemon=true
alfresco.workQueueSize=-1
# HTTP Client
alfresco.maxTotalConnections=40
alfresco.maxHostConnections=40
alfresco.socketTimeout=60000
# SOLR caching
solr.filterCache.size=64
solr.filterCache.initialSize=64
solr.queryResultCache.size=64
solr.queryResultCache.initialSize=64
solr.documentCache.size=64
solr.documentCache.initialSize=64
solr.queryResultMaxDocsCached=200
solr.authorityCache.size=64
solr.authorityCache.initialSize=64
solr.pathCache.size=64
solr.pathCache.initialSize=64
# SOLR
solr.maxBooleanClauses=10000
#
# TODO
#
# cross language support
# locale expansion
# logging check report ....
#
#

View File

@@ -1,18 +0,0 @@
# Set root logger level to error
log4j.rootLogger=${app.log.root.level}, 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
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
###### File appender definition #######
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
log4j.appender.File.File=${app.log.dir}solr.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{ABSOLUTE} %-5p [%c] %m%n

View File

@@ -1,110 +0,0 @@
#
# solrcore.properties - used in solrconfig.xml
#
# data is in ${data.dir.root}/${data.dir.store}
data.dir.root=${alfresco.solr.dir}
data.dir.store=workspace/SpacesStore
enable.alfresco.tracking=true
cache.alfresco.size=100
max.field.length=2147483647
#
# Properties loaded during alfresco tracking
#
alfresco.host=localhost
alfresco.port=8080
alfresco.port.ssl=8443
alfresco.baseUrl=/alfresco
alfresco.cron=0/15 * * * * ? *
alfresco.stores=workspace://SpacesStore
#alfresco.index.transformContent=false
#alfresco.ignore.datatype.1=d:content
alfresco.lag=1000
alfresco.hole.retention=3600000
# alfresco.hole.check.after is not used yet
# It will reduce the hole checking load
alfresco.hole.check.after=300000
alfresco.batch.count=1000
# encryption
# none, https
alfresco.secureComms=none
# ssl
alfresco.encryption.ssl.keystore.type=JCEKS
alfresco.encryption.ssl.keystore.provider=
alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore
alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties
alfresco.encryption.ssl.truststore.type=JCEKS
alfresco.encryption.ssl.truststore.provider=
alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore
alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties
# Tracking
alfresco.enableMultiThreadedTracking=true
alfresco.corePoolSize=3
alfresco.maximumPoolSize=-1
alfresco.keepAliveTime=120
alfresco.threadPriority=5
alfresco.threadDaemon=true
alfresco.workQueueSize=-1
# HTTP Client
alfresco.maxTotalConnections=40
alfresco.maxHostConnections=40
alfresco.socketTimeout=60000
# SOLR caching
solr.filterCache.size=64
solr.filterCache.initialSize=64
solr.queryResultCache.size=1024
solr.queryResultCache.initialSize=1024
solr.documentCache.size=64
solr.documentCache.initialSize=64
solr.queryResultMaxDocsCached=2000
solr.authorityCache.size=64
solr.authorityCache.initialSize=64
solr.pathCache.size=64
solr.pathCache.initialSize=64
solr.readerToAclIdsCache.size=64
solr.readerToAclIdsCache.initialSize=64
# SOLR
solr.maxBooleanClauses=10000
# Batch fetch
alfresco.transactionDocsBatchSize=100
alfresco.changeSetAclsBatchSize=100
alfresco.aclBatchSize=10
# Warming
solr.filterCache.autowarmCount=128
solr.authorityCache.autowarmCount=0
solr.pathCache.autowarmCount=128
solr.queryResultWindowSize=200
#
# TODO
#
# cross language support
# locale expansion
# logging check report ....
#
#
alfresco.doPermissionChecks=true

View File

@@ -16,9 +16,9 @@ Project layout
+---+
pom.xml
|-> repo-amp
|-> rootArtifactid-repo-amp
|-> rootArtifactid-share-amp
|-> repo
|-> share-amp
|-> share
|-> solr
|-> runner (a Tomcat embedded runner / integration test runner)
@@ -28,14 +28,14 @@ Project layout
The All-in-One Alfresco project is composed by the following modules:
* <<<repo-amp>>>: An Repository Tier AMP project, demonstrating sample project structure and demo component loading
* <<<rootArtifactid-repo-amp>>>: An Repository Tier AMP project, demonstrating sample project structure and demo component loading
* <<<repo>>>: An <<<alfresco.war>>> Repository Extension, overlaying the Alfresco WAR with custom resources / classes
and depending on the <<<amp>>> project
* <<<share-amp>>>: A Share Tier AMP project, demonstrating sample project structure and demo component loading
* <<<rootArtifactid-share-amp>>>: A Share Tier AMP project, demonstrating sample project structure and demo component loading
* <<<share>>>: A <<<share.war>>> extension, overlaying the Share WAR with the custom developed <<<share-amp>>>
* <<<share>>>: A <<<share.war>>> extension, overlaying the Share WAR with the custom developed <<<rootArtifactid-share-amp>>>
* <<<solr>>>: An Alfresco <<<alfresco-*-*-solr.zip>>> overlay / customization to configure {{{http://solr.apache.org}Apache Solr}} cores properties

View File

@@ -1,6 +1,4 @@
package=it.pkg
version=0.1-SNAPSHOT
groupId=archetype.it
artifactId=allInOneTest
alfresco_target_groupId=org.alfresco
alfresco_target_version=5.0.c
package=it.pkg

View File

@@ -1,6 +1,5 @@
package=it.pkg
version=0.1-SNAPSHOT
groupId=archetype.it
artifactId=allInOneTest
alfresco_target_groupId=org.alfresco
alfresco_target_version=5.0
artifactId=allInOneTestRunEnterprise
package=it.pkg

View File

@@ -1,6 +1,4 @@
package=it.pkg
version=0.1-SNAPSHOT
groupId=archetype.it
artifactId=allInOneTest
alfresco_target_groupId=org.alfresco
alfresco_target_version=5.0.c
artifactId=allInOneTestRun
package=it.pkg

View File

@@ -12,7 +12,7 @@
<parent>
<groupId>org.alfresco.maven</groupId>
<artifactId>alfresco-sdk-aggregator</artifactId>
<version>2.0.0</version>
<version>2.2.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
@@ -23,6 +23,8 @@
<includes>
<include>archetype-resources/pom.xml</include>
<include>archetype-resources/run.sh</include>
<include>archetype-resources/run.bat</include>
<include>META-INF/maven/archetype-metadata.xml</include>
</includes>
<filtering>true</filtering>
</resource>
@@ -31,6 +33,8 @@
<excludes>
<exclude>archetype-resources/pom.xml</exclude>
<exclude>archetype-resources/run.sh</exclude>
<exclude>archetype-resources/run.bat</exclude>
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
</excludes>
<filtering>false</filtering>
</resource>

View File

@@ -1,63 +1,73 @@
<?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="AMP Archetype for Alfresco. Provides rapid development, IDE integration, and running embedded an Alfresco Repo AMP"
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>
<requiredProperty key="alfresco_target_groupId">
<defaultValue>org.alfresco</defaultValue>
</requiredProperty>
<requiredProperty key="alfresco_target_version">
<defaultValue>5.0.c</defaultValue>
</requiredProperty>
<requiredProperty key="package">
<defaultValue>(not used)</defaultValue>
</requiredProperty>
</requiredProperties>
<fileSets>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>src/main/amp</directory>
<includes>
<include>**/**</include>
</includes>
</fileSet>
<fileSet filtered="false" packaged="false" encoding="UTF-8">
<directory>src/test/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>src/test/resources</directory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>src/test/properties</directory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>tomcat</directory>
<includes>
<include>**/*.xml</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory></directory>
<includes>
<include>run.sh</include>
</includes>
</fileSet>
</fileSets>
<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="AMP Archetype for Alfresco. Provides rapid development, IDE integration, and running embedded an Alfresco Repo AMP"
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="false">
<directory>src/main/amp</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/*-context.xml</exclude>
<exclude>**/log4j.properties</exclude>
</excludes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true">
<directory>src/main/amp/config/alfresco/module/__artifactId__</directory>
<includes>
<include>log4j.properties</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8" filtered="true" packaged="false">
<directory>src/main/amp</directory>
<includes>
<include>**/*-context.xml</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>src/test/resources</directory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>src/test/properties</directory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet filtered="false" encoding="UTF-8">
<directory>tomcat</directory>
<includes>
<include>**/*.xml</include>
</includes>
</fileSet>
<fileSet encoding="UTF-8">
<directory></directory>
<includes>
<include>run.sh</include>
<include>run.bat</include>
</includes>
</fileSet>
</fileSets>
</archetype-descriptor>

View File

@@ -1,6 +1,6 @@
<?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">
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>
@@ -16,46 +16,35 @@
</parent>
<!--
| SDK properties have sensible defaults in the SDK parent,
| but you can override the properties below to use another version.
| For more available properties see the alfresco-sdk-parent POM.
SDK properties have sensible defaults in the SDK parent,
but you can override the properties below to use another version.
For more available properties see the alfresco-sdk-parent POM.
-->
<properties>
<!--
| Defines the groupId for the Alfresco Artifacts to work against. As of 4.2 the only allowed value is: org.alfresco
| NOTE: See http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html for details
<!-- The following are default values for data location and Alfresco Community version.
Uncomment if you need to change (Note. current default version for Enterprise edition is @@alfresco.enterprise.default.version@@)
<alfresco.version>@@alfresco.community.default.version@@</alfresco.version>
<alfresco.data.location>/absolute/path/to/alf_data_dev</alfresco.data.location> -->
<!-- This control the root logging level for all apps uncomment and change, defaults to WARN
<app.log.root.level>WARN</app.log.root.level>
-->
<!-- <alfresco.groupId>${alfresco_target_groupId}</alfresco.groupId> -->
<!-- Defines the Alfresco version to work against.
Community versions are typically identified by major.minor.character (4.2.a) while Enterprise versions are identified by major.minor.digit (4.2.0) -->
<!-- <alfresco.version>${alfresco_target_version}</alfresco.version>-->
<app.log.root.level>WARN</app.log.root.level>
<alfresco.data.location>alf_data_dev</alfresco.data.location>
<!-- This controls which properties will be picked in src/test/properties for embedded run -->
<!-- Set the enviroment to use, this controls which properties will be picked in src/test/properties
for embedded run, defaults to the 'local' environment. See SDK Parent POM for more info.
<env>local</env>
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war profile
| Defaults to a vanilla repository AMP, but could point to your foundation / aggregator WAR
. | Allowed values for Community: alfresco | share
| Allowed values for Enterprise: alfresco-enterprise | share-enterprise
<alfresco.client.war>${alfresco.repo.artifactId}</alfresco.client.war> -->
<!-- Context path to run alfresco on -->
<alfresco.client.contextPath>/alfresco</alfresco.client.contextPath>
<!-- Defines the target WAR groupId to run this amp, only used with the -Pamp-to-war switch
. | Could be org.alfresco or your corporate groupId -->
<!-- <alfresco.client.war.groupId>${alfresco.groupId}</alfresco.client.war.groupId> -->
<!-- Defines the target WAR version to run this amp, only used with the -Pamp-to-war switch -->
<!-- <alfresco.client.war.version>${alfresco.version}</alfresco.client.war.version>-->
-->
</properties>
<!-- Here we realize the connection with the Alfresco selected platform
(e.g.version and edition) -->
<dependencyManagement>
<dependencies>
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco version/edition
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement. NOTE: It defaults
to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom -->
<!-- Setup what versions of the different Alfresco artifacts that will be used (depends on alfresco.version),
so we don't have to specify version in any of the dependency definitions in our POM.
For more info see:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies
-->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-platform-distribution</artifactId>
@@ -65,13 +54,48 @@
</dependency>
</dependencies>
</dependencyManagement>
<!-- Following dependencies are needed for compiling Java code in src/main/java;
<scope>provided</scope> is inherited for each of the following;
for more info, please refer to alfresco-platform-distribution POM -->
<dependencies>
<!-- Following dependencies are needed for compiling Java code in src/main/java;
<scope>provided</scope> is inherited for each of the following;
for more info, please refer to alfresco-platform-distribution POM -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
</dependency>
<!-- If we are running tests then make the H2 Scripts available
Note. tests are skipped when you are running -Pamp-to-war -->
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-repository</artifactId>
<version>${alfresco.version}</version>
<classifier>h2scripts</classifier>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<profiles>
<!--
Brings in the extra Enterprise specific repository classes,
if the 'enterprise' profile has been activated, needs to be activated manually.
-->
<profile>
<id>enterprise</id>
<dependencies>
<dependency>
<groupId>${alfresco.groupId}</groupId>
<artifactId>alfresco-enterprise-repository</artifactId>
<version>${alfresco.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
</profiles>
</project>

View File

@@ -0,0 +1,8 @@
@ECHO OFF
IF "%MAVEN_OPTS%" == "" (
ECHO The environment variable 'MAVEN_OPTS' is not set, setting it for you
SET MAVEN_OPTS=-Xms256m -Xmx2G -XX:PermSize=300m
)
ECHO MAVEN_OPTS is set to '%MAVEN_OPTS%'
mvn clean install -Pamp-to-war

View File

@@ -1,9 +1,7 @@
#!/bin/bash
# Downloads the spring-loaded lib if not existing and runs repository AMP
springloadedfile=~/.m2/repository/org/springframework/springloaded/@@springloaded.version@@/springloaded-@@springloaded.version@@.jar
if [ ! -f $springloadedfile ]; then
mvn validate -Psetup
if [[ -z ${MAVEN_OPTS} ]]; then
echo "The environment variable 'MAVEN_OPTS' is not set, setting it for you";
MAVEN_OPTS="-Xms256m -Xmx1524m -XX:PermSize=300m"
fi
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn integration-test -Pamp-to-war
echo "MAVEN_OPTS is set to '$MAVEN_OPTS'";
mvn clean install -Pamp-to-war

View File

@@ -1,5 +1,5 @@
<webscript>
<shortname>Javascript Sample Webscript</shortname>
<shortname>Hello World Sample Webscript</shortname>
<description>Hands back a greeting</description>
<url>/sample/helloworld</url>
<authentication>user</authentication>

View File

@@ -0,0 +1,5 @@
## This Alfresco Repo 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.
##

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