mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
718 Commits
alfresco-s
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
1cab716998 | ||
|
3885c48524 | ||
|
a90ff212b9 | ||
|
7b3aad825e | ||
|
77b1bbd180 | ||
|
6d3315f6fd | ||
|
2fad0aef35 | ||
|
099b7b26df | ||
|
49a3815038 | ||
|
458399dcf9 | ||
|
1d67feafa4 | ||
|
2f586f266a | ||
|
3bee9d0d5b | ||
|
36c55b60b9 | ||
|
f861833fa3 | ||
|
32470ef417 | ||
|
2fe97216a0 | ||
|
70c61921d1 | ||
|
2ec46f28a9 | ||
|
84762446cb | ||
|
f4426cf52d | ||
|
007397f269 | ||
|
477cfd0815 | ||
|
ed8f8519b0 | ||
|
6ab259ae87 | ||
|
d9aadb1a7d | ||
|
3d312dd248 | ||
|
8746cc47ee | ||
|
f935952160 | ||
|
a303296159 | ||
|
d92cd1d28c | ||
|
d24a4e223d | ||
|
94646f41f1 | ||
|
3a5c7ab475 | ||
|
1f9ae91cb1 | ||
|
3126e0e128 | ||
|
3a1d65965e | ||
|
88c0604a6f | ||
|
bec7914830 | ||
|
ac0503904d | ||
|
536b01c56f | ||
|
33c93c4dfe | ||
|
0985d8b36d | ||
|
ac09ab3386 | ||
|
7de8c85c0a | ||
|
94a085d2bc | ||
|
db15d4366b | ||
|
7dce05b785 | ||
|
32f23dd922 | ||
|
b3fa4568a6 | ||
|
c53fb72935 | ||
|
906a608ffa | ||
|
459e3f1424 | ||
|
a879ad83c9 | ||
|
928f99336e | ||
|
9521f6ef42 | ||
|
0a0039dcb0 | ||
|
2c29c915d4 | ||
|
7878155ed9 | ||
|
7aa6400210 | ||
|
cc0955e012 | ||
|
2899b205ba | ||
|
340785180d | ||
|
2bc06e4222 | ||
|
4f70d0f575 | ||
|
fd106b13c7 | ||
|
f59a05a0c0 | ||
|
860fc03a03 | ||
|
a2cf89ed5e | ||
|
6e8f26220a | ||
|
70d61333e8 | ||
|
cc1fced0d8 | ||
|
9b513c151a | ||
|
326104acd8 | ||
|
265814e487 | ||
|
5b6ea1e3bb | ||
|
1191057d56 | ||
|
5411098636 | ||
|
e63c849d6d | ||
|
013fed7669 | ||
|
1cae6a854f | ||
|
20d4486da9 | ||
|
cabce2d981 | ||
|
019c5c70e0 | ||
|
693fde6285 | ||
|
515d23de2c | ||
|
9a5e70f324 | ||
|
b57196f46e | ||
|
a565f66c76 | ||
|
b3808e3e8b | ||
|
3f51507ea7 | ||
|
0a082f3bfc | ||
|
35e2800858 | ||
|
4a56544cad | ||
|
9c2ac0c956 | ||
|
8d407356b7 | ||
|
42e5726313 | ||
|
9c28f38f9c | ||
|
1aff0f2a01 | ||
|
712eb22dd4 | ||
|
905f589169 | ||
|
b1139739b8 | ||
|
219389197a | ||
|
782740ef99 | ||
|
2ce90ecc93 | ||
|
b3a1dabf72 | ||
|
7928ae358b | ||
|
a204305226 | ||
|
0352e2fd07 | ||
|
af396f70ac | ||
|
8634cc1d37 | ||
|
a3a7e9f158 | ||
|
0d2c76cc0c | ||
|
a39f4248a2 | ||
|
97967c35e6 | ||
|
d92a8d14e0 | ||
|
c672e75db6 | ||
|
5ea45fcca1 | ||
|
df508d3535 | ||
|
dc8ac36265 | ||
|
0464f9bd66 | ||
|
ce64b89d1d | ||
|
232db55be7 | ||
|
584e3e0339 | ||
|
a6f0b34074 | ||
|
bf853d72c8 | ||
|
7f19645f20 | ||
|
e61146ea07 | ||
|
10809ad2ba | ||
|
3d2ff7b1e8 | ||
|
8998e37414 | ||
|
c3ae5760e8 | ||
|
89d4d3fd9a | ||
|
372afc6ba4 | ||
|
3908cc73b7 | ||
|
76d813f2f4 | ||
|
5edd1f7b43 | ||
|
12db1fcb17 | ||
|
3e4a793f5d | ||
|
fba08f9ab7 | ||
|
56300e35aa | ||
|
b4b0be82ae | ||
|
50f43f23d3 | ||
|
2ee5120413 | ||
|
7f861a9672 | ||
|
b199afcd7e | ||
|
7baf3fb0a1 | ||
|
54504b4962 | ||
|
1503134f77 | ||
|
71ed669795 | ||
|
7d9b7de8c8 | ||
|
7483212c1f | ||
|
3d30a5893b | ||
|
32666d167f | ||
|
b737483c18 | ||
|
4cdc281f7f | ||
|
f4c3ac7c84 | ||
|
af8c6c42c4 | ||
|
e61c08c650 | ||
|
cc14a39be4 | ||
|
c910fa2b40 | ||
|
3050c9deb4 | ||
|
1ce98f09aa | ||
|
6dc927e668 | ||
|
68155ef5a6 | ||
|
e5e0a7f76d | ||
|
ea4c12a836 | ||
|
d949a778ef | ||
|
099ac2ddeb | ||
|
b0bc6a38d5 | ||
|
1d1e89a86d | ||
|
517b20859e | ||
|
e27d6f1a70 | ||
|
10557e500d | ||
|
f7e4ea1b5c | ||
|
7838649c81 | ||
|
deaf4c06b8 | ||
|
067d751193 | ||
|
c0658f3a94 | ||
|
e378eec194 | ||
|
01e79d6953 | ||
|
b00ee7f5e5 | ||
|
6e5445a271 | ||
|
388f74eea3 | ||
|
2db3051599 | ||
|
8bb094b61a | ||
|
a4e79cc569 | ||
|
c14887f549 | ||
|
4e225147ea | ||
|
c5e92bdc25 | ||
|
ef59a6a39a | ||
|
42dc3659bd | ||
|
5d1fb4f4d9 | ||
|
185c4ad2bd | ||
|
0b85afc6fd | ||
|
9db0f5cff1 | ||
|
243f94227b | ||
|
330c66a1be | ||
|
ab4927afeb | ||
|
c48dffea69 | ||
|
b3391a67c3 | ||
|
465aa3de5a | ||
|
b32a78b7b3 | ||
|
7bd5c58136 | ||
|
5b21775793 | ||
|
1d551d1895 | ||
|
766847585e | ||
|
b366ae3ddd | ||
|
19369a23b5 | ||
|
93c28f5dde | ||
|
7792574dae | ||
|
e8976addea | ||
|
a7f2db61e8 | ||
|
2926a9ae83 | ||
|
246ae7a138 | ||
|
387a584aa1 | ||
|
edd8d8317b | ||
|
eb30a2d9e2 | ||
|
cf777840be | ||
|
efec137a10 | ||
|
210bee7d76 | ||
|
534e70a2c4 | ||
|
0fcec384fd | ||
|
9d1c2feaf2 | ||
|
709b820f2c | ||
|
217f135006 | ||
|
64843588f8 | ||
|
f1a7e645e4 | ||
|
e3ae54be9b | ||
|
2871883c7d | ||
|
3661a06206 | ||
|
436b9a455a | ||
|
5418b57325 | ||
|
376815c746 | ||
|
b76bb5730c | ||
|
7c4fc7a700 | ||
|
62dc99e9c6 | ||
|
ccee83f92d | ||
|
0027ef3ec4 | ||
|
32d286cb50 | ||
|
7017b057ea | ||
|
bb3780d31d | ||
|
2954b72765 | ||
|
13f6457fbd | ||
|
29006d1e93 | ||
|
301d0e81a0 | ||
|
4002c01134 | ||
|
64d53e0fe6 | ||
|
d1fb454772 | ||
|
cdcf9c6a96 | ||
|
9d7c80a147 | ||
|
beae915836 | ||
|
a6a199ad50 | ||
|
328faa3a5a | ||
|
cdaa995422 | ||
|
8617c29300 | ||
|
d2e21a38c6 | ||
|
a01573eff8 | ||
|
079b916d46 | ||
|
37275bcbf1 | ||
|
7d521e9f27 | ||
|
a7211c206b | ||
|
862c998542 | ||
|
29fdb576ab | ||
|
271ba3977f | ||
|
a1cbc0687d | ||
|
408fda1fd3 | ||
|
cb50841385 | ||
|
0d91902752 | ||
|
43405d037f | ||
|
4b98ff5846 | ||
|
45cf124566 | ||
|
0f500fab25 | ||
|
26c4364063 | ||
|
0c391693e4 | ||
|
92886f2ee9 | ||
|
991caa2191 | ||
|
f99521a851 | ||
|
49b489f181 | ||
|
424e6a5a26 | ||
|
a2b5e64848 | ||
|
6ae42f8fc0 | ||
|
c2ab1cf80a | ||
|
c7c4c49446 | ||
|
efbfc8fbba | ||
|
6e5bf3a757 | ||
|
4722c14121 | ||
|
d2c4dcc015 | ||
|
972c96ba0f | ||
|
067473669b | ||
|
3b0c2ddc9b | ||
|
9068c3209b | ||
|
4651f0a941 | ||
|
6bef9222eb | ||
|
a97975acec | ||
|
f0e604bd8c | ||
|
48a3eb6d7d | ||
|
0b79b0a71d | ||
|
3b25a7549c | ||
|
50c5c82f36 | ||
|
fff6bc4a41 | ||
|
c9a991698d | ||
|
97f0ea6119 | ||
|
7bf16b467b | ||
|
29c6a08066 | ||
|
00839a8170 | ||
|
646899610d | ||
|
126d31646e | ||
|
4c2ac6db7d | ||
|
6cd3e0c0c2 | ||
|
c6fbb76a39 | ||
|
706a6c2ccd | ||
|
c2f94e35bd | ||
|
8dd1ba923a | ||
|
0d158017e4 | ||
|
2c9fc00ea4 | ||
|
32a27e4f53 | ||
|
0577fcc168 | ||
|
c4dd6b01e6 | ||
|
eae6c13de5 | ||
|
0ca57b20a1 | ||
|
82cb58f472 | ||
|
779d53a051 | ||
|
5a35c948ca | ||
|
42a4805d93 | ||
|
1f18d34e8e | ||
|
3873d2907e | ||
|
86049b91bf | ||
|
8ff7f929e2 | ||
|
1fb478e77a | ||
|
f023ca2878 | ||
|
a891119b84 | ||
|
c84d0d4c87 | ||
|
d268c20c3a | ||
|
5291dc6e97 | ||
|
697ab7c3ec | ||
|
52a6938a66 | ||
|
7edac56eed | ||
|
fa828dede5 | ||
|
f5e3552283 | ||
|
ab9f384830 | ||
|
dced89eda6 | ||
|
3bced985d6 | ||
|
f0210c173a | ||
|
ea521ba7ee | ||
|
865ae6fd38 | ||
|
017dfcbff8 | ||
|
c25417e702 | ||
|
448b5c2929 | ||
|
ab29cc53fa | ||
|
228a98c566 | ||
|
82b7886a51 | ||
|
012dc70f43 | ||
|
b8377041a5 | ||
|
9071965850 | ||
|
1e5db412f7 | ||
|
37c26cfaa8 | ||
|
1cd4b82037 | ||
|
758ab83faf | ||
|
8862d67acd | ||
|
e4402a741f | ||
|
b1facc65de | ||
|
7668096829 | ||
|
ce7c374c1e | ||
|
68dda3b211 | ||
|
47a329a762 | ||
|
3ae8d043aa | ||
|
ba36d1ad5e | ||
|
f54fb5e3d3 | ||
|
1a8d8b76b6 | ||
|
55ac6917b7 | ||
|
993d5dcefe | ||
|
0411bc5b1d | ||
|
07bb743cfd | ||
|
ccb9f3d86f | ||
|
aebda9bf06 | ||
|
b7dbbe8995 | ||
|
c9b33b4f59 | ||
|
93dde46f51 | ||
|
addbc750c4 | ||
|
e302055caf | ||
|
3b7e32df20 | ||
|
8178eac5b8 | ||
|
b5ec7b415d | ||
|
278ba7f600 | ||
|
fef948b982 | ||
|
245a51402d | ||
|
3630cced6d | ||
|
892920c114 | ||
|
24500024ed | ||
|
85c7e11bb6 | ||
|
aede276f9b | ||
|
264d326bf2 | ||
|
d2868bdfae | ||
|
673461b6e2 | ||
|
6f1d01394d | ||
|
f5404b9d40 | ||
|
e6394e25b7 | ||
|
0fd842192b | ||
|
be8e10a556 | ||
|
3031b401a2 | ||
|
723b309670 | ||
|
051e967240 | ||
|
1f46a9e2ff | ||
|
3cbdb5dc8e | ||
|
07543c68d3 | ||
|
a07219e6e6 | ||
|
4e26291761 | ||
|
c2ac314930 | ||
|
08acf1f433 | ||
|
b9331c365f | ||
|
63bd9a63c0 | ||
|
f1dbb608d9 | ||
|
657d16b91c | ||
|
7739556c94 | ||
|
d7b0805cef | ||
|
0b8db99cd8 | ||
|
eba635c8f8 | ||
|
2782f30a42 | ||
|
a32a537206 | ||
|
49160034cf | ||
|
50dac567c2 | ||
|
9a7630acfb | ||
|
be11344137 | ||
|
db9d7d637c | ||
|
04fe0678d7 | ||
|
b46f173fb4 | ||
|
d69f7e4937 | ||
|
788347a5dd | ||
|
d6f11dd977 | ||
|
f0955cff98 | ||
|
05b2cfbb1e | ||
|
558d4b422c | ||
|
d040ceb60d | ||
|
a8db2ddde0 | ||
|
c9d1878cb9 | ||
|
99c0a14220 | ||
|
6a1b09c102 | ||
|
19d76702bd | ||
|
b88a0ae73b | ||
|
30d72ee6bd | ||
|
75672bd2c4 | ||
|
58843e516c | ||
|
db8c5e9cfd | ||
|
027ddb7df8 | ||
|
9faf59972b | ||
|
89566dc20b | ||
|
4bea907d8d | ||
|
89d4d7921a | ||
|
c41d713643 | ||
|
a49c657441 | ||
|
8968f8227b | ||
|
595a1c4cbc | ||
|
6bc23959b8 | ||
|
b84bcf798c | ||
|
38f69583d4 | ||
|
e997a33fc9 | ||
|
07c06a2bbd | ||
|
a724b3596e | ||
|
d46fa394e7 | ||
|
101a04e309 | ||
|
6eb8903562 | ||
|
4fca9989fd | ||
|
e8c1e19ecb | ||
|
9ff222e8ed | ||
|
a05d69eac2 | ||
|
e9fa82da5c | ||
|
d2c6335869 | ||
|
3010c9773a | ||
|
b7fff632e7 | ||
|
5b3b5d3914 | ||
|
9b5db76577 | ||
|
43ad42aac8 | ||
|
9c5f1e9e0d | ||
|
c46b0b86d2 | ||
|
99031d5def | ||
|
0bdacc4787 | ||
|
b6e170a0ce | ||
|
a37b121cb6 | ||
|
c7591ca848 | ||
|
54a067325a | ||
|
ceed7af6fe | ||
|
377aaa5459 | ||
|
b226302572 | ||
|
876f6286fc | ||
|
5d59d6cd27 | ||
|
6d4b901129 | ||
|
0854929d99 | ||
|
8415da72b0 | ||
|
14cd4be39c | ||
|
f2f5698a3b | ||
|
5b83b99549 | ||
|
181951ed99 | ||
|
a4711142e6 | ||
|
78d1466220 | ||
|
d99539c9b0 | ||
|
30bfc14422 | ||
|
641aa6bb8e | ||
|
f031c76a41 | ||
|
2ad03e3f5c | ||
|
7275ba32e8 | ||
|
9bf50267dd | ||
|
bbe3de2abb | ||
|
5c01e8127c | ||
|
9a1b97e64d | ||
|
b3955a1b4f | ||
|
2e546a1cae | ||
|
9dd9f530bb | ||
|
7c0ac3afb6 | ||
|
2cbfd36041 | ||
|
9faf5114f3 | ||
|
27bcaa3daf | ||
|
8f29244d99 | ||
|
87af573673 | ||
|
d53184196b | ||
|
4431863500 | ||
|
d2e9b89720 | ||
|
cda786187c | ||
|
8cf04fc98d | ||
|
3b579596db | ||
|
b2afebed09 | ||
|
3707dbc5d6 | ||
|
f3d85a19ce | ||
|
6c57d9ede0 | ||
|
0958c63b44 | ||
|
eeb5e7304f | ||
|
8d06e0e791 | ||
|
a11a3a65b6 | ||
|
5936c3fcda | ||
|
3e7a6d83a9 | ||
|
235a84105a | ||
|
3465b3aaf5 | ||
|
509e4072e8 | ||
|
6e7e2d7740 | ||
|
841c72e64a | ||
|
6b83be9d9f | ||
|
f4c9a36256 | ||
|
7309916d83 | ||
|
de723e44ff | ||
|
60dac34448 | ||
|
477067a992 | ||
|
016879ec87 | ||
|
97cbaefc6f | ||
|
c854a0aad3 | ||
|
d483c01a6c | ||
|
3116123800 | ||
|
a39a11ffe7 | ||
|
41dd5ff1ea | ||
|
2a3eb3919e | ||
|
f9c4647f22 | ||
|
bc97442af7 | ||
|
9c49d6c7f9 | ||
|
2453421d1b | ||
|
5e17baa651 | ||
|
c3b43c0c68 | ||
|
6f0589ce63 | ||
|
abee710157 | ||
|
19b0d1d8a7 | ||
|
6ebaa083d4 | ||
|
80f62c65ca | ||
|
f946d711ea | ||
|
4a25c4ceba | ||
|
6140990608 | ||
|
6a6fcacf78 | ||
|
3a9f08620a | ||
|
8b48a63e0a | ||
|
d0fdd2fdfe | ||
|
603fe956c6 | ||
|
ccb6728e4c | ||
|
3ef4131ce8 | ||
|
f1735544ab | ||
|
ee6861e873 | ||
|
2a45c2eaa5 | ||
|
b33837280d | ||
|
748231a932 | ||
|
8707fbebbf | ||
|
8d5d26a1a5 | ||
|
0f6b82d7f1 | ||
|
c7559ba8ea | ||
|
96efddd7af | ||
|
1a95fab1eb | ||
|
85ea35c7b6 | ||
|
788b64ccc6 | ||
|
ec8c8748e8 | ||
|
b3d1a5b3d1 | ||
|
b265ffb00e | ||
|
d5e9278d52 | ||
|
db7e154a31 | ||
|
b84ea0ffb3 | ||
|
56f8336af3 | ||
|
790b8cdfdb | ||
|
dbec475d0b | ||
|
c541f66845 | ||
|
fab637d1cb | ||
|
e8c7fdbc8b | ||
|
b178eaffaa | ||
|
8fa82cfad5 | ||
|
f050c75615 | ||
|
f3f70d6035 | ||
|
da6c97d857 | ||
|
d4872f7e1a | ||
|
c79889e662 | ||
|
ed7e5e2ead | ||
|
126747dbc9 | ||
|
4c0e340ab4 | ||
|
cf86202c28 | ||
|
d8816d7fa7 | ||
|
e2da89679c | ||
|
c9865d2295 | ||
|
a7856633ec | ||
|
c62178aadf | ||
|
12807d4af3 | ||
|
10bd148795 | ||
|
4e625f0ce3 | ||
|
db3e891c05 | ||
|
60193a7029 | ||
|
a04ef8ad72 | ||
|
221752ef0d | ||
|
593f4e9143 | ||
|
c7296f71c2 | ||
|
d2aa943430 | ||
|
ca3fea4e1b | ||
|
6ff39d81ff | ||
|
9dae6e5279 | ||
|
28d475711e | ||
|
36ad3db030 | ||
|
10fb9dedac | ||
|
041f188760 | ||
|
ae7f3bd532 | ||
|
58cf54fe7d | ||
|
58ee1a3c79 | ||
|
2237ab18d0 | ||
|
84d01c7217 | ||
|
0ef8953ffb | ||
|
e377a9ef74 | ||
|
1448f64560 | ||
|
8bf4214be1 | ||
|
bfd6d9ccc8 | ||
|
6af15e115c | ||
|
2d8a6cfcb6 | ||
|
61b833a362 | ||
|
3b74df1b9f | ||
|
705550faae | ||
|
fa762dd48c | ||
|
640ffcff90 | ||
|
1662c159c5 | ||
|
60689add1e | ||
|
79aef16e36 | ||
|
c7b88eb3d1 | ||
|
44b6327aca | ||
|
1bc351d51b | ||
|
1c56ccdab2 | ||
|
6826351beb | ||
|
f5a4787964 | ||
|
6493b8e9d1 | ||
|
c8fc67a273 | ||
|
27236060b9 | ||
|
a0be18daee | ||
|
bbf5197a5a | ||
|
30d8412f0b | ||
|
4355d0fb50 | ||
|
55c21e7989 | ||
|
5e02d4d071 | ||
|
3a322ceb2d | ||
|
6cf5ec1305 | ||
|
7a9d6c9403 | ||
|
154da68795 | ||
|
9c4adc5dd6 | ||
|
a94f0081d0 | ||
|
600eeeacc3 | ||
|
447a22a2ae | ||
|
2bdaf65f2c | ||
|
4d1886a4da | ||
|
134d16973d | ||
|
a641eb8a6b | ||
|
5400489974 | ||
|
a46eed0d7b | ||
|
a594d9b523 | ||
|
c6beb898ad | ||
|
70533a2973 | ||
|
e97deb4f14 | ||
|
3b2e93904f | ||
|
60d805768a | ||
|
9616129c69 | ||
|
ef2dd626f1 | ||
|
cb796f3b2a | ||
|
a0c8e3e867 | ||
|
c75a137a80 | ||
|
284710ab26 | ||
|
4c6610a004 | ||
|
8e10982a4a | ||
|
cb8315e268 | ||
|
19701b28c6 | ||
|
6f3363074e | ||
|
247b23a818 | ||
|
d23ce407cd | ||
|
572cbab5f6 | ||
|
b97c4fccdc | ||
|
5c4174e0d8 | ||
|
ab258df2b4 | ||
|
84e8fd5ae7 | ||
|
f3df237cf0 | ||
|
fe2fdd3c06 | ||
|
be3b8618ae | ||
|
6d5ab89f4a | ||
|
51ab29e79b | ||
|
dab870c8f5 | ||
|
6076eecf4c | ||
|
eb583a15fd | ||
|
114d66fca1 | ||
|
faf0d89df9 | ||
|
a409cf08bd | ||
|
5421b845c8 | ||
|
fc55716499 | ||
|
17350c4328 | ||
|
feb0d736da | ||
|
ed17a67187 | ||
|
3735773e71 |
57
.ci.settings.xml
Normal file
57
.ci.settings.xml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
|
||||||
|
<servers>
|
||||||
|
<server>
|
||||||
|
<id>central</id>
|
||||||
|
<username>${MAVEN_CENTRAL_USERNAME}</username>
|
||||||
|
<password>${MAVEN_CENTRAL_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-private-repository</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>activiti-private-repository</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-public-snapshots</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-public</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-plugin-public</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-plugin-public-snapshots</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-internal-snapshots</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>alfresco-internal</id>
|
||||||
|
<username>${env.MAVEN_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
<server>
|
||||||
|
<id>central-releases-staging</id>
|
||||||
|
<username>${env.MAVEN_CENTRAL_USERNAME}</username>
|
||||||
|
<password>${env.MAVEN_CENTRAL_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
</servers>
|
||||||
|
</settings>
|
202
.github/workflows/ci.yml
vendored
Normal file
202
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
name: Alfresco SDK CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- fix/**
|
||||||
|
- feature/**
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- fix/**
|
||||||
|
- feature/**
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
env:
|
||||||
|
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
|
||||||
|
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
|
||||||
|
MAVEN_CENTRAL_USERNAME: ${{ secrets.OSS_SONATYPE_USERNAME }}
|
||||||
|
MAVEN_CENTRAL_PASSWORD: ${{ secrets.OSS_SONATYPE_PASSWORD }}
|
||||||
|
GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
|
||||||
|
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 90
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
pre_commit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.16.0
|
||||||
|
|
||||||
|
veracode_sca:
|
||||||
|
name: "Veracode - Source Clear Scan (SCA)"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: >
|
||||||
|
github.ref_name == 'master' ||
|
||||||
|
github.event_name == 'pull_request'
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
|
- name: "Clean-up SNAPSHOT artifacts"
|
||||||
|
run: find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.16.0
|
||||||
|
continue-on-error: true
|
||||||
|
with:
|
||||||
|
srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
|
||||||
|
|
||||||
|
build:
|
||||||
|
name: "Build application"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [pre_commit]
|
||||||
|
if: "!contains(github.event.head_commit.message, '[skip tests]')"
|
||||||
|
env:
|
||||||
|
MAVEN_CLI_OPTS: >
|
||||||
|
-B -q -e -fae -V -DinstallAtEnd=true -U
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
|
- name: "Build"
|
||||||
|
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
||||||
|
- name: "Verify"
|
||||||
|
run: mvn $MAVEN_CLI_OPTS verify -Dlogging.root.level=off -Dspring.main.banner-mode=off
|
||||||
|
|
||||||
|
tests:
|
||||||
|
name: ${{ matrix.name }}
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build]
|
||||||
|
if: >
|
||||||
|
!(failure() || cancelled()) &&
|
||||||
|
!contains(github.event.head_commit.message, '[skip tests]')
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- name: "current version Java 17"
|
||||||
|
java-version: 17
|
||||||
|
- name: "25.2 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-252-tests
|
||||||
|
- name: "25.2 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-252-tests
|
||||||
|
- name: "25.1 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-251-tests
|
||||||
|
- name: "25.1 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-251-tests
|
||||||
|
- name: "23.5 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-235-tests
|
||||||
|
- name: "23.4 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-234-tests
|
||||||
|
- name: "23.4 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-234-tests
|
||||||
|
- name: "23.3 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-233-tests
|
||||||
|
- name: "23.3 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-233-tests
|
||||||
|
- name: "23.2 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-232-tests
|
||||||
|
- name: "23.2 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-232-tests
|
||||||
|
- name: "23.1 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-231-tests
|
||||||
|
- name: "23.1 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-231-tests
|
||||||
|
- name: "7.4 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-74-tests
|
||||||
|
- name: "7.4 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-74-tests
|
||||||
|
- name: "7.4 Enterprise Java 11"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Penterprise-74-tests
|
||||||
|
- name: "7.4 Community Java 11"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Pcommunity-74-tests
|
||||||
|
- name: "7.3 Enterprise Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Penterprise-73-tests
|
||||||
|
- name: "7.3 Community Java 17"
|
||||||
|
java-version: 17
|
||||||
|
suite: -Pcommunity-73-tests
|
||||||
|
- name: "7.3 Enterprise Java 11"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Penterprise-73-tests
|
||||||
|
- name: "7.3 Community Java 11"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Pcommunity-73-tests
|
||||||
|
- name: "7.2 Enterprise"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Penterprise-72-tests
|
||||||
|
- name: "7.2 Community"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Pcommunity-72-tests
|
||||||
|
- name: "7.1 Enterprise"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Penterprise-71-tests
|
||||||
|
- name: "7.1 Community"
|
||||||
|
java-version: 11
|
||||||
|
suite: -Pcommunity-71-tests
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
|
with:
|
||||||
|
java-version: ${{ matrix.java-version }}
|
||||||
|
- name: "Login to Docker Hub"
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
- name: "Login to Quay.io"
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: quay.io
|
||||||
|
username: ${{ secrets.QUAY_USERNAME }}
|
||||||
|
password: ${{ secrets.QUAY_PASSWORD }}
|
||||||
|
- name: "Build"
|
||||||
|
run: mvn clean install -B ${{ matrix.suite }}
|
||||||
|
|
||||||
|
publish:
|
||||||
|
name: "Publish artifacts"
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [tests]
|
||||||
|
if: >
|
||||||
|
contains(github.event.head_commit.message, '[publish]')
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.16.0
|
||||||
|
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.16.0
|
||||||
|
- name: "Build"
|
||||||
|
run: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
||||||
|
- name: Set up Maven Central credentials
|
||||||
|
run: |
|
||||||
|
mkdir -p ~/.m2
|
||||||
|
envsubst < ${{ github.workspace }}/.ci.settings.xml > ~/.m2/settings.xml
|
||||||
|
env:
|
||||||
|
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
|
||||||
|
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
|
||||||
|
- name: Import GPG key
|
||||||
|
env:
|
||||||
|
GPG_TTY: $(tty)
|
||||||
|
run: |
|
||||||
|
echo "${{ secrets.GPG_SIGNING_PRIVATE_KEY }}" | gpg --batch --import
|
||||||
|
echo "use-agent" >> ~/.gnupg/gpg.conf
|
||||||
|
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
|
||||||
|
echo "allow-loopback-pinentry" >> ~/.gnupg/gpg-agent.conf
|
||||||
|
gpg --batch --yes --pinentry-mode loopback --passphrase $GPG_SIGNING_PASSPHRASE --list-keys
|
||||||
|
- name: "Publish"
|
||||||
|
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
|
||||||
|
run: |
|
||||||
|
mvn --batch-mode clean package gpg:sign central-publishing:publish -P sdk-release -DskipTests=true -Dgpg.passphrase=$GPG_SIGNING_PASSPHRASE
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -12,3 +12,4 @@ pom.xml.next
|
|||||||
release.properties
|
release.properties
|
||||||
**.settings
|
**.settings
|
||||||
**bin
|
**bin
|
||||||
|
*.DS_Store
|
||||||
|
10
.pre-commit-config.yaml
Normal file
10
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
default_language_version:
|
||||||
|
# force all unspecified python hooks to run python3
|
||||||
|
python: python3
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v3.4.0
|
||||||
|
hooks:
|
||||||
|
- id: check-yaml
|
||||||
|
args: [--allow-multiple-documents]
|
67
ISSUE_TEMPLATE.md
Normal file
67
ISSUE_TEMPLATE.md
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
If you are reporting a new issue, make sure that we do not have any duplicates
|
||||||
|
already open. You can ensure this by searching the issue list for this
|
||||||
|
repository. If there is a duplicate, please close your issue and add a comment
|
||||||
|
to the existing issue instead.
|
||||||
|
|
||||||
|
If you suspect your issue is a bug, please edit your issue description to
|
||||||
|
include the BUG REPORT INFORMATION shown below. If you fail to provide this
|
||||||
|
information within 7 days, we cannot debug your issue and will close it. We
|
||||||
|
will, however, reopen it if you later provide the information.
|
||||||
|
|
||||||
|
---------------------------------------------------
|
||||||
|
GENERAL SUPPORT INFORMATION
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
The GitHub issue tracker is for bug reports and feature requests.
|
||||||
|
General support can be found at the following locations:
|
||||||
|
|
||||||
|
- Alfresco Community - https://community.alfresco.com/community/ecm
|
||||||
|
- Post a question on StackOverflow, using the Alfresco tag
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
## I'm submitting a ... (check one with "x")
|
||||||
|
```
|
||||||
|
[ ] bug report => search github for a similar issue or PR before submitting
|
||||||
|
[ ] feature request
|
||||||
|
```
|
||||||
|
|
||||||
|
<!--- Provide a general summary of the issue in the Title above -->
|
||||||
|
|
||||||
|
## Expected Behavior
|
||||||
|
<!--- If you're describing a bug, tell us what should happen -->
|
||||||
|
<!--- If you're suggesting a change/improvement, tell us how it should work -->
|
||||||
|
|
||||||
|
## Current Behavior
|
||||||
|
<!--- If describing a bug, tell us what happens instead of the expected behavior -->
|
||||||
|
<!--- If suggesting a change/improvement, explain the difference from current behavior -->
|
||||||
|
|
||||||
|
## Possible Solution
|
||||||
|
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
||||||
|
<!--- or ideas how to implement the addition or change -->
|
||||||
|
|
||||||
|
## Steps to Reproduce (for bugs)
|
||||||
|
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
||||||
|
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
4.
|
||||||
|
5.
|
||||||
|
|
||||||
|
## Context
|
||||||
|
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
||||||
|
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
||||||
|
|
||||||
|
## Your Environment
|
||||||
|
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
||||||
|
* Alfresco SDK version used: <!-- 2.1 / 2.2 / 3.0betaX-->
|
||||||
|
* Alfresco version used: <!-- Enterprise 5.1, Community 5.0.f or ...-->
|
||||||
|
* Output of command 'mvn -version': <!-- Maven/JDK version-->
|
||||||
|
* Link to your project: <!-- optional for having a minimal example-->
|
||||||
|
|
||||||
|
## Additional information
|
||||||
|
<!-- include screenshots or any other hint you mave have for us -->
|
66
KEYS
66
KEYS
@@ -9,6 +9,10 @@ Developers:
|
|||||||
(gpg --list-key <your email>
|
(gpg --list-key <your email>
|
||||||
&& gpg --armor --export <your email>) >> this file.
|
&& gpg --armor --export <your email>) >> this file.
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
# Gabriele Columbro
|
||||||
|
################################################################
|
||||||
|
|
||||||
pub 4096R/6FE5701E 2012-03-25
|
pub 4096R/6FE5701E 2012-03-25
|
||||||
uid Gabriele Columbro (VALID CODE SIGNING KEY) <gabriele@apache.org>
|
uid Gabriele Columbro (VALID CODE SIGNING KEY) <gabriele@apache.org>
|
||||||
sub 4096R/E97059F3 2012-03-25
|
sub 4096R/E97059F3 2012-03-25
|
||||||
@@ -86,4 +90,66 @@ hrGAueS2lH5DUpjZPqClR+txnAK+hVCuFogoWsdsbRHMLkqKqhnQjWnvRrU0ud9j
|
|||||||
ytG/XwLK3RL7LTmPIC9RqlO1U1A3h5Ykw2INH/bB90lBxmydmp/PHpkhjEAEvzGW
|
ytG/XwLK3RL7LTmPIC9RqlO1U1A3h5Ykw2INH/bB90lBxmydmp/PHpkhjEAEvzGW
|
||||||
r+ipOwsWpF6kLIHUT2LuPxLqTGQCrqYtJyTp61tE
|
r+ipOwsWpF6kLIHUT2LuPxLqTGQCrqYtJyTp61tE
|
||||||
=GUM9
|
=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-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
220
README.md
220
README.md
@@ -1,57 +1,179 @@
|
|||||||
# [](#features) Maven Alfresco SDK
|
# [](#features) Alfresco SDK
|
||||||
|
|
||||||
Maven Alfresco SDK for Alfresco Development and Customizations based on Apache Maven.
|
|
||||||
|
|
||||||
Includes support for rapid and standard development, testing, packaging, versioning and release of your Alfresco integration and extension projects. For a teaser of the SDK potential check out this video:
|
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=vgbY9i4w0YU)
|
|
||||||
|
|
||||||
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 [Maven 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/4.2/concepts/dev-extensions-maven-sdk-intro.html).
|
|
||||||
|
|
||||||
### Samples
|
|
||||||
|
|
||||||
Advanced sample projects are maintained by @ohej in the [Maven Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
|
|
||||||
|
|
||||||
|
|
||||||
### Contribute
|
[](https://github.com/Alfresco/alfresco-sdk/actions/workflows/ci.yml)
|
||||||
|
[](https://github.com/pre-commit/pre-commit)
|
||||||
|

|
||||||
|
|
||||||
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).
|
This is the home of the Alfresco SDK. The Alfresco SDK is used by developers to build extensions for the Alfresco Digital Business Platform. It is based on
|
||||||
|
[Apache Maven](http://maven.apache.org/), compatible with major IDEs and enables [Rapid Application Development (RAD)](https://en.wikipedia.org/wiki/Rapid_application_development)
|
||||||
|
and [Test Driven Development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development).
|
||||||
|
|
||||||
## Maven Repositories
|
## License
|
||||||
|
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html) license.
|
||||||
The Maven Alfresco SDK is released in Maven Central as of version 2.0-beta-1.
|
If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
|
||||||
|
|
||||||
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/4.2/concepts/dev-extensions-maven-sdk-intro.html) for supported features.
|
|
||||||
|
|
||||||
## News
|
## News
|
||||||
|
- 2025-03: Alfresco SDK 4.11.0 released
|
||||||
- 2014-09-09: SDK 2.0.0-beta-3 released to Maven Central
|
- 2024-11: Alfresco SDK 4.10.0 released
|
||||||
- 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)
|
- 2024-08: Alfresco SDK 4.9.0 released
|
||||||
|
- 2024-03: Alfresco SDK 4.8.0 released
|
||||||
|
- 2023-11: Alfresco SDK 4.7.0 released
|
||||||
|
- 2023-06: Alfresco SDK 4.6.0 released
|
||||||
|
- 2022-10: Alfresco SDK 4.5.0 released
|
||||||
|
- 2022-03: Alfresco SDK 4.4.0 released
|
||||||
|
- 2021-10: Alfresco SDK 4.3.0 released
|
||||||
|
- 2021-02: Alfresco SDK 4.2.0 released
|
||||||
|
- 2019-10: Alfresco SDK 4.1.0 released
|
||||||
|
- 2019-03: Alfresco SDK 4.0.0 released
|
||||||
|
- 2019-03: Alfresco SDK 3.1.0 released
|
||||||
|
- 2017-06-23: Alfresco SDK 3.0.1 released, [containing a critical bugfix](https://github.com/Alfresco/alfresco-sdk/issues/461)
|
||||||
|
- 2017-04-01: Alfresco SDK 3.0.0 released
|
||||||
|
- 2017-03-27: After years of hard work, countless iterations and gathering feedback, SDK 3.0 has finally been merged into the master branch, ready for release in the coming days
|
||||||
|
- 2016-02-20: SDK 2.2.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
|
||||||
|
- 2015-10-19: SDK 2.1.1 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||||
|
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||||
|
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
|
||||||
- 2014-08-22: First SNAPSHOT of SDK 2.0.0 in the [OSS Sonatype Repository](https://oss.sonatype.org/content/repositories/snapshots/org/alfresco/maven/alfresco-sdk-parent/2.0.0-SNAPSHOT/)!
|
- 2014-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
|
||||||
|
|
||||||
|
### Important Notice about ACS 7.2
|
||||||
|
|
||||||
|
Please refer to https://github.com/Alfresco/alfresco-sdk/issues/635 to fix the Search Services 403 problem.
|
||||||
|
|
||||||
|
### Important Notice about ACS 7.1
|
||||||
|
|
||||||
|
#### Share Version Number
|
||||||
|
|
||||||
|
Since ACS 7.1, Share build pipeline has been refactored, and you now have to specify the internal
|
||||||
|
Share version number, in addition to the version of the image, because they are not the same anymore.
|
||||||
|
|
||||||
|
This number can be located in the main pom.xml of the project used to build Share, hence:
|
||||||
|
|
||||||
|
- property `<alfresco-community-share.version>` of [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging/blob/7.1.0/pom.xml#L17) (Community)
|
||||||
|
- property `<alfresco-enterprise-share.version>`of [acs-packaging](https://github.com/Alfresco/acs-packaging/blob/7.1.0.1/pom.xml#L18) (Enterprise)
|
||||||
|
|
||||||
|
So, if for example you want to use the community version of `7.1.0.1`, you can go on acs-community-packaging,
|
||||||
|
open the `7.1.0.1` release tag, browse its files, open the pom.xml in the root,
|
||||||
|
then copy the value of `<alfresco-community-share.version>`.
|
||||||
|
|
||||||
|
You'll then need to paste this value inside the SDK property `<alfresco.share.version>`.
|
||||||
|
|
||||||
|
#### Alternate Docker User
|
||||||
|
|
||||||
|
- ACS 6 used to run everything as `root`.
|
||||||
|
- ACS 7 introduced an `alfresco` user, that should've been used after the `root` user completed its configurations in the Dockerfile.
|
||||||
|
|
||||||
|
Due to a bug, this wasn't working in earlier SDKs, and has been fixed in SDK 4.3.
|
||||||
|
|
||||||
|
In order to be retro-compatible with ACS 6, however, the user is specified in the SDK property `<alfresco.platform.docker.user>`.
|
||||||
|
|
||||||
|
Hence, its values (already in place) are `root` for ACS 6, and `alfresco` for ACS 7+.
|
||||||
|
|
||||||
|
#### Log file location
|
||||||
|
|
||||||
|
To prevent writing permission problems when logging with the non-root user,
|
||||||
|
the `alfresco.log` file has also been moved to a more appropriate location (Tomcat logs instead of Tomcat root).
|
||||||
|
|
||||||
|
### Important Notice about Version Numbers
|
||||||
|
|
||||||
|
In Q4 2020, Alfresco Platform has undergone a major structural refactoring.
|
||||||
|
|
||||||
|
Depending on the Platform version desired, you might need to use SDK 4.1, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9 or SDK 4.10 instead of SDK 4.11.0.
|
||||||
|
|
||||||
|
- For Enterprise and Community versions of 7.x, SDK 4.4 or higher must be used
|
||||||
|
- For Enterprise versions of 6.0.x, 6.1.x, 6.2.x newer than November 2020, SDK 4.3 must be used
|
||||||
|
- For Enterprise and Community versions of 6.0.x, 6.1.x, 6.2.x older than November 2020, SDK 4.1 must be used
|
||||||
|
|
||||||
|
It's also important to remember that:
|
||||||
|
|
||||||
|
- Community Platform versions are built by [acs-community-packaging](https://github.com/Alfresco/acs-community-packaging)
|
||||||
|
- Community Docker images are published on [Docker Hub](https://hub.docker.com/r/alfresco/alfresco-content-repository-community/tags?page=1&ordering=last_updated)
|
||||||
|
- Enterprise Platform versions are built by [acs-packaging](https://github.com/Alfresco/acs-packaging)
|
||||||
|
- Enterprise Docker images are published on *Quay.io*
|
||||||
|
|
||||||
|
### Latest Documentation
|
||||||
|
To get started with **Alfresco SDK 4.9.x** (latest) visit the [Alfresco Documentation](docs/README.md).
|
||||||
|
|
||||||
|
#### Documentation about Previous Versions
|
||||||
|
| SDK Version | Alfresco Enterprise Version | Alfresco Community Version | Documentation |
|
||||||
|
|---------------|:------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| SDK 4.11.0 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x / 25.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x / 25.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.10 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x / 23.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x / 23.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.9 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x / 23.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x / 23.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.8 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x/ 23.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.7 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x / 23.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.6 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x / 7.4.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.5 | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | Alfresco 7.0.x / 7.1.x / 7.2.x / 7.3.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.4 | Alfresco 7.0.x / 7.1.x / 7.2.x | Alfresco 7.0.x / 7.1.x / 7.2.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.3 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x / 7.1.x | Alfresco 7.0.x / 7.1.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.2 | Alfresco 6.0.x / 6.1.x / 6.2.x / 7.0.x | Alfresco 7.0.x | https://github.com/Alfresco/alfresco-sdk/tree/master/docs/README.md |
|
||||||
|
| SDK 4.1 | Alfresco 6.0.x / 6.1.x / 6.2.x | Alfresco 6.0.x / 6.1.x / 6.2.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.1/docs/README.md |
|
||||||
|
| SDK 4.0 | Alfresco 6.0.x / 6.1.x | Alfresco 6.0.x / 6.1.x | https://github.com/Alfresco/alfresco-sdk/blob/sdk-4.0/docs/README.md |
|
||||||
|
| SDK 3.1 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||||
|
| SDK 3.0 | Alfresco 5.2.x | Alfresco 5.2.x | http://docs.alfresco.com/5.2/concepts/sdk-intro.html |
|
||||||
|
| SDK 2.2 | Alfresco 5.1.x | Alfresco 5.1.x | https://docs.alfresco.com/5.1/concepts/alfresco-sdk-intro.html |
|
||||||
|
| SDK 2.1 | Alfresco 5.0.1 | Alfresco 5.0.d | https://docs.alfresco.com/sdk2.1/concepts/alfresco-sdk-intro.html |
|
||||||
|
| SDK 2.0 | Alfresco 5.0.0 | Alfresco 5.0.c | https://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html |
|
||||||
|
| SDK 1.1.1 | Alfresco 4.2.x | Alfresco 4.2.x | https://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html |
|
||||||
|
|
||||||
|
## Reporting Issues and Community Support
|
||||||
|
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open) or join us on the [IRC Channel](http://chat.alfresco.com/).
|
||||||
|
|
||||||
|
## 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. If your version is in Limited or Full Support and you need help, visit the [Support Portal](http://support.alfresco.com).
|
||||||
|
|
||||||
|
## Maven repositories
|
||||||
|
- As of version 2.0-beta-1, The Alfresco SDK is released in [Maven Central](http://search.maven.org/#search|ga|1|alfresco-sdk). Previous versions are available
|
||||||
|
in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
||||||
|
- 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:* By default the Alfresco SDK will use Community Edition releases but it can be configured to use Enterprise Edition releases. Enterprise and Premier
|
||||||
|
customers can use the SDK with Enterprise Edition releases by following the process described in [Working with Enterprise](docs/advanced-topics/working-with-enterprise/README.md).
|
||||||
|
|
||||||
|
### Alfresco Artifacts Repository
|
||||||
|
|
||||||
|
#### Alfresco Releases
|
||||||
|
You can use the following snippet in your pom.xml to access releases from the 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>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Docker registries
|
||||||
|
- Alfresco Community Docker images are publicly available at the [Alfresco's Docker Hub profile](https://hub.docker.com/u/alfresco/).
|
||||||
|
- Alfresco Enterprise Docker images are hosted at [Quay.io](https://quay.io/). Its configuration process is described in detail in [How to configure private Alfresco Docker registry](docs/advanced-topics/working-with-enterprise/enterprise-docker-registry.md).
|
||||||
|
|
||||||
|
## For Developers that want to contribute to the SDK
|
||||||
|
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
|
||||||
|
|
||||||
|
## Publishing the release on Maven Central
|
||||||
|
- Manually change the version from SNAPSHOT to final (eg. when releasing SDK 4.11.0, replacing all the occurrences of 4.11.0-SNAPSHOT with 4.11.0)
|
||||||
|
|
||||||
|
- Commit and push changes to GitHub with the commit message [publish], then it will automatically publish your artifacts to maven central
|
||||||
|
|
||||||
|
At this point, we need to manually proceed with the remaining steps:
|
||||||
|
|
||||||
|
1- Manually create a release tag on GitHub
|
||||||
|
|
||||||
|
2- Manually change the version from final to next SNAPSHOT (eg. replacing all the occurrences of 4.11.0 with 4.12.0-SNAPSHOT (in pom.xml, not in READMEs - if not needed)
|
||||||
|
|
||||||
|
3- Commit and push on GitHub
|
||||||
|
1
archetypes/.gitignore
vendored
Normal file
1
archetypes/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.DS_Store
|
@@ -5,16 +5,16 @@
|
|||||||
<groupId>org.alfresco.maven.archetype</groupId>
|
<groupId>org.alfresco.maven.archetype</groupId>
|
||||||
<artifactId>alfresco-allinone-archetype</artifactId>
|
<artifactId>alfresco-allinone-archetype</artifactId>
|
||||||
<packaging>maven-archetype</packaging>
|
<packaging>maven-archetype</packaging>
|
||||||
<name>Maven Alfresco SDK - All-in-One Archetype</name>
|
<name>Alfresco SDK - All-in-One Archetype</name>
|
||||||
<description>Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository WAR overlay, Repository AMP, Share WAR overlay, Solr configuration, and embedded Tomcat runner</description>
|
<description>Sample multi-module project for All-in-One development on the Alfresco platform. Includes modules for Platform/Repository JAR and Share JAR</description>
|
||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.alfresco.maven</groupId>
|
<groupId>org.alfresco.maven</groupId>
|
||||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||||
<version>2.0.0-beta-4</version>
|
<version>4.13.0-A1</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<resources>
|
<resources>
|
||||||
<resource>
|
<resource>
|
||||||
@@ -22,6 +22,8 @@
|
|||||||
<includes>
|
<includes>
|
||||||
<include>archetype-resources/pom.xml</include>
|
<include>archetype-resources/pom.xml</include>
|
||||||
<include>archetype-resources/run.sh</include>
|
<include>archetype-resources/run.sh</include>
|
||||||
|
<include>archetype-resources/run.bat</include>
|
||||||
|
<include>META-INF/maven/archetype-metadata.xml</include>
|
||||||
</includes>
|
</includes>
|
||||||
<filtering>true</filtering>
|
<filtering>true</filtering>
|
||||||
</resource>
|
</resource>
|
||||||
@@ -30,22 +32,26 @@
|
|||||||
<excludes>
|
<excludes>
|
||||||
<exclude>archetype-resources/pom.xml</exclude>
|
<exclude>archetype-resources/pom.xml</exclude>
|
||||||
<exclude>archetype-resources/run.sh</exclude>
|
<exclude>archetype-resources/run.sh</exclude>
|
||||||
|
<exclude>archetype-resources/run.bat</exclude>
|
||||||
|
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
<filtering>false</filtering>
|
<filtering>false</filtering>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
<version>2.6</version>
|
|
||||||
<configuration>
|
<configuration>
|
||||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||||
<delimiters>
|
<delimiters>
|
||||||
<delimiter>@@</delimiter>
|
<delimiter>@@</delimiter>
|
||||||
</delimiters>
|
</delimiters>
|
||||||
|
<addDefaultExcludes>false</addDefaultExcludes>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
</project>
|
</project>
|
@@ -0,0 +1,2 @@
|
|||||||
|
def file = new File( request.getOutputDirectory(), request.getArtifactId()+"/run.sh" );
|
||||||
|
file.setExecutable(true, false);
|
@@ -1,186 +1,193 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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="quickstart-allinone-archetype"
|
<archetype-descriptor
|
||||||
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
|
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"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
name="Alfresco All In One (AIO) Archetype."
|
||||||
<requiredProperties>
|
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
|
||||||
<requiredProperty key="version">
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<defaultValue>1.0-SNAPSHOT</defaultValue>
|
<requiredProperties>
|
||||||
</requiredProperty>
|
<requiredProperty key="version">
|
||||||
<requiredProperty key="alfresco_target_groupId">
|
<defaultValue>1.0-SNAPSHOT</defaultValue>
|
||||||
<defaultValue>org.alfresco</defaultValue>
|
</requiredProperty>
|
||||||
</requiredProperty>
|
</requiredProperties>
|
||||||
<requiredProperty key="alfresco_target_version">
|
<modules>
|
||||||
<defaultValue>5.0.a</defaultValue>
|
<module id="${rootArtifactId}-platform"
|
||||||
</requiredProperty>
|
name="${rootArtifactId}-platform"
|
||||||
<requiredProperty key="package">
|
dir="__rootArtifactId__-platform">
|
||||||
<defaultValue>(not used)</defaultValue>
|
<fileSets>
|
||||||
</requiredProperty>
|
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||||
</requiredProperties>
|
<directory>src/main/assembly</directory>
|
||||||
<modules>
|
<includes>
|
||||||
<module id="repo-amp" dir="repo-amp" name="repo-amp">
|
<include>**</include>
|
||||||
<fileSets>
|
</includes>
|
||||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
</fileSet>
|
||||||
<directory>src/main/java</directory>
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
<includes>
|
<directory>src/main/java</directory>
|
||||||
<include>**/*.java</include>
|
<includes>
|
||||||
</includes>
|
<include>**/*.java</include>
|
||||||
</fileSet>
|
</includes>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
</fileSet>
|
||||||
<directory>src/main/amp</directory>
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
<includes>
|
<directory>src/test/java</directory>
|
||||||
<include>**</include>
|
<includes>
|
||||||
</includes>
|
<include>**/*.java</include>
|
||||||
</fileSet>
|
</includes>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
</fileSet>
|
||||||
<directory>src/main/amp/config/alfresco/extension/templates/webscripts</directory>
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
</fileSet>
|
<directory>src/main/resources</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/test/resources</directory>
|
<include>**</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
<excludes>
|
||||||
</includes>
|
<exclude>**/*-context.xml</exclude>
|
||||||
</fileSet>
|
</excludes>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
</fileSet>
|
||||||
<directory>src/test/properties</directory>
|
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||||
<includes>
|
<directory>src/main/resources</directory>
|
||||||
<include>**/*.properties</include>
|
<includes>
|
||||||
</includes>
|
<include>**/*-context.xml</include>
|
||||||
</fileSet>
|
</includes>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
</fileSet>
|
||||||
<directory>tomcat</directory>
|
</fileSets>
|
||||||
<includes>
|
</module>
|
||||||
<include>**</include>
|
|
||||||
</includes>
|
<module id="${rootArtifactId}-share"
|
||||||
</fileSet>
|
name="${rootArtifactId}-share"
|
||||||
</fileSets>
|
dir="__rootArtifactId__-share">
|
||||||
</module>
|
<fileSets>
|
||||||
<module id="share-amp" dir="share-amp" name="share-amp">
|
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||||
<fileSets>
|
<directory>src/main/assembly</directory>
|
||||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
<includes>
|
||||||
<directory>src/main/java</directory>
|
<include>**</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**/*.java</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
</fileSet>
|
<directory>src/main/java</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/main/amp</directory>
|
<include>**/*.java</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
</fileSet>
|
<directory>src/test/java</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/test/resources</directory>
|
<include>**/*.java</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||||
</fileSet>
|
<directory>src/main/resources/alfresco/web-extension</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/main/resources</directory>
|
<include>__artifactId__-slingshot-application-context.xml</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||||
</fileSet>
|
<directory>src/main/resources/alfresco/web-extension/site-data/extensions</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/test/properties</directory>
|
<include>__artifactId__-example-widgets.xml</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**/*.properties</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
</fileSet>
|
<directory>src/main/resources</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>tomcat</directory>
|
<include>**</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
<excludes>
|
||||||
</includes>
|
<exclude>**/__artifactId__-slingshot-application-context.xml</exclude>
|
||||||
</fileSet>
|
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
||||||
</fileSets>
|
</excludes>
|
||||||
</module>
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
<module id="repo" dir="repo" name="repo">
|
</module>
|
||||||
<fileSets>
|
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<module id="${rootArtifactId}-integration-tests"
|
||||||
<directory>src/main/properties</directory>
|
name="${rootArtifactId}-integration-tests"
|
||||||
<includes>
|
dir="__rootArtifactId__-integration-tests">
|
||||||
<include>**/*.properties</include>
|
<fileSets>
|
||||||
</includes>
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
</fileSet>
|
<directory>src/main/java</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/main/resources</directory>
|
<include>**/*.java</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||||
</fileSet>
|
<directory>src/test/java</directory>
|
||||||
</fileSets>
|
<includes>
|
||||||
</module>
|
<include>**/*.java</include>
|
||||||
|
</includes>
|
||||||
<module id="solr" dir="solr" name="solr" filtered="false">
|
</fileSet>
|
||||||
<fileSets>
|
</fileSets>
|
||||||
<fileSet encoding="UTF-8">
|
</module>
|
||||||
<directory>src/main/solr-properties</directory>
|
|
||||||
<includes>
|
<module id="${rootArtifactId}-platform-docker"
|
||||||
<include>**</include>
|
name="${rootArtifactId}-platform-docker"
|
||||||
<include>**</include>
|
dir="__rootArtifactId__-platform-docker">
|
||||||
</includes>
|
<fileSets>
|
||||||
</fileSet>
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<directory>src/main/docker</directory>
|
||||||
<directory>src/main/webapp</directory>
|
<includes>
|
||||||
<includes>
|
<include>license/**</include>
|
||||||
<include>**</include>
|
<include>Dockerfile</include>
|
||||||
</includes>
|
<include>disable-webscript-caching-context.xml</include>
|
||||||
</fileSet>
|
</includes>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<excludes>
|
||||||
<directory>src/assembly</directory>
|
<exclude>**/*.properties</exclude>
|
||||||
<includes>
|
</excludes>
|
||||||
<include>**</include>
|
</fileSet>
|
||||||
</includes>
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
</fileSet>
|
<directory>src/main/docker</directory>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<includes>
|
||||||
<directory>src/main/resources</directory>
|
<include>**/*.properties</include>
|
||||||
<includes>
|
</includes>
|
||||||
<include>**</include>
|
<excludes>
|
||||||
</includes>
|
<exclude>license/**</exclude>
|
||||||
</fileSet>
|
<exclude>Dockerfile</exclude>
|
||||||
</fileSets>
|
<exclude>disable-webscript-caching-context.xml</exclude>
|
||||||
</module>
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
<module id="share" dir="share" name="share" filtered="false">
|
</fileSets>
|
||||||
<fileSets>
|
</module>
|
||||||
<fileSet encoding="UTF-8">
|
|
||||||
<directory>src/main/properties</directory>
|
<module id="${rootArtifactId}-share-docker"
|
||||||
<includes>
|
name="${rootArtifactId}-share-docker"
|
||||||
<include>**/*.properties</include>
|
dir="__rootArtifactId__-share-docker">
|
||||||
</includes>
|
<fileSets>
|
||||||
</fileSet>
|
<fileSet encoding="UTF-8" filtered="false">
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<directory>src/main/docker</directory>
|
||||||
<directory>src/main/resources</directory>
|
<includes>
|
||||||
<includes>
|
<include>Dockerfile</include>
|
||||||
<include>**</include>
|
<include>share-config-custom.xml</include>
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
<excludes>
|
||||||
</fileSets>
|
<exclude>**/*.properties</exclude>
|
||||||
</module>
|
</excludes>
|
||||||
<module id="runner" dir="runner" name="runner" filtered="false">
|
</fileSet>
|
||||||
<fileSets>
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<directory>src/main/docker</directory>
|
||||||
<directory>tomcat</directory>
|
<includes>
|
||||||
<includes>
|
<include>**/*.properties</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>Dockerfile</exclude>
|
||||||
|
<exclude>share-config-custom.xml</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
</module>
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
<fileSets>
|
||||||
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
|
<directory>docker</directory>
|
||||||
|
<includes>
|
||||||
<include>**</include>
|
<include>**</include>
|
||||||
</includes>
|
</includes>
|
||||||
</fileSet>
|
</fileSet>
|
||||||
<fileSet encoding="UTF-8" filtered="false">
|
<fileSet encoding="UTF-8" filtered="true">
|
||||||
<directory>src/main/webapp</directory>
|
<directory></directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**</include>
|
<include>.gitignore</include>
|
||||||
</includes>
|
<include>run.sh</include>
|
||||||
</fileSet>
|
<include>run.bat</include>
|
||||||
</fileSets>
|
<include>README.md</include>
|
||||||
</module>
|
</includes>
|
||||||
</modules>
|
</fileSet>
|
||||||
<fileSets>
|
</fileSets>
|
||||||
<fileSet encoding="UTF-8">
|
|
||||||
<directory></directory>
|
|
||||||
<includes>
|
|
||||||
<include>run.sh</include>
|
|
||||||
</includes>
|
|
||||||
</fileSet>
|
|
||||||
</fileSets>
|
|
||||||
</archetype-descriptor>
|
</archetype-descriptor>
|
||||||
|
38
archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/.gitignore
vendored
Normal file
38
archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/.gitignore
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
**.log*
|
||||||
|
|
||||||
|
# Maven
|
||||||
|
target/
|
||||||
|
pom.xml.tag
|
||||||
|
pom.xml.releaseBackup
|
||||||
|
pom.xml.versionsBackup
|
||||||
|
pom.xml.next
|
||||||
|
release.properties
|
||||||
|
dependency-reduced-pom.xml
|
||||||
|
buildNumber.properties
|
||||||
|
.mvn/timing.properties
|
||||||
|
.mvn/wrapper/maven-wrapper.jar
|
||||||
|
|
||||||
|
# Eclipse
|
||||||
|
.metadata
|
||||||
|
.project
|
||||||
|
.classpath
|
||||||
|
bin/
|
||||||
|
tmp/
|
||||||
|
*.tmp
|
||||||
|
.settings/
|
||||||
|
.loadpath
|
||||||
|
.recommenders
|
||||||
|
|
||||||
|
# IntelliJ IDEA
|
||||||
|
**.idea
|
||||||
|
**.iml
|
||||||
|
|
||||||
|
# Visual Studio Code
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
|
||||||
|
# macOS
|
||||||
|
*.DS_Store
|
@@ -0,0 +1,46 @@
|
|||||||
|
# Alfresco AIO Project - SDK 4.11.0
|
||||||
|
|
||||||
|
This is an All-In-One (AIO) project for Alfresco SDK 4.11.0.
|
||||||
|
|
||||||
|
Run with `./run.sh build_start` or `./run.bat build_start` and verify that it
|
||||||
|
|
||||||
|
* Runs Alfresco Content Service (ACS)
|
||||||
|
* Runs Alfresco Share
|
||||||
|
* Runs Alfresco Search Service (ASS)
|
||||||
|
* Runs PostgreSQL database
|
||||||
|
* Deploys the JAR assembled modules
|
||||||
|
|
||||||
|
All the services of the project are now run as docker containers. The run script offers the next tasks:
|
||||||
|
|
||||||
|
* `build_start`. Build the whole project, recreate the ACS and Share docker images, start the dockerised environment composed by ACS, Share, ASS and
|
||||||
|
PostgreSQL and tail the logs of all the containers.
|
||||||
|
* `build_start_it_supported`. Build the whole project including dependencies required for IT execution, recreate the ACS and Share docker images, start the
|
||||||
|
dockerised environment composed by ACS, Share, ASS and PostgreSQL and tail the logs of all the containers.
|
||||||
|
* `start`. Start the dockerised environment without building the project and tail the logs of all the containers.
|
||||||
|
* `stop`. Stop the dockerised environment.
|
||||||
|
* `purge`. Stop the dockerised container and delete all the persistent data (docker volumes).
|
||||||
|
* `tail`. Tail the logs of all the containers.
|
||||||
|
* `reload_share`. Build the Share module, recreate the Share docker image and restart the Share container.
|
||||||
|
* `reload_acs`. Build the ACS module, recreate the ACS docker image and restart the ACS container.
|
||||||
|
* `build_test`. Build the whole project, recreate the ACS and Share docker images, start the dockerised environment, execute the integration tests from the
|
||||||
|
`integration-tests` module and stop the environment.
|
||||||
|
* `test`. Execute the integration tests (the environment must be already started).
|
||||||
|
|
||||||
|
# Few things to notice
|
||||||
|
|
||||||
|
* No parent pom
|
||||||
|
* No WAR projects, the jars are included in the custom docker images
|
||||||
|
* No runner project - the Alfresco environment is now managed through [Docker](https://www.docker.com/)
|
||||||
|
* Standard JAR packaging and layout
|
||||||
|
* Works seamlessly with Eclipse and IntelliJ IDEA
|
||||||
|
* JRebel for hot reloading, JRebel maven plugin for generating rebel.xml [JRebel integration documentation]
|
||||||
|
* AMP as an assembly
|
||||||
|
* Persistent test data through restart thanks to the use of Docker volumes for ACS, ASS and database data
|
||||||
|
* Integration tests module to execute tests against the final environment (dockerised)
|
||||||
|
* Resources loaded from META-INF
|
||||||
|
* Web Fragment (this includes a sample servlet configured via web fragment)
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
|
||||||
|
* Abstract assembly into a dependency so we don't have to ship the assembly in the archetype
|
||||||
|
* Functional/remote unit tests
|
@@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>${artifactId}</artifactId>
|
||||||
|
<name>Integration Tests Module</name>
|
||||||
|
<description>Integration Tests module for in-container integration testing - part of AIO - SDK 4.11.0</description>
|
||||||
|
<packaging>jar</packaging> <!-- Note. this just runs Integration Tests, but it needs to be a JAR otherwise
|
||||||
|
nothing is compiled (i.e. you cannot set it to pom) -->
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<!-- Bring in any custom module that should be tested, by default we bring in the Platform JAR module
|
||||||
|
that is generated for the AIO project -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-platform</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<testResources>
|
||||||
|
<testResource>
|
||||||
|
<directory>src/test/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</testResource>
|
||||||
|
</testResources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.zeroturnaround</groupId>
|
||||||
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<rebelXmlDirectory>${project.build.testOutputDirectory}</rebelXmlDirectory>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Make sure we attach the tests so we can include them when running -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>test-jar</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Runs the integration tests, any class that follows naming convention
|
||||||
|
"**/IT*.java", "**/*IT.java", and "**/*ITCase.java" will be considered an integration test -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<systemPropertyVariables>
|
||||||
|
<acs.endpoint.path>${test.acs.endpoint.path}</acs.endpoint.path>
|
||||||
|
</systemPropertyVariables>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
@@ -0,0 +1,191 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.rad.test.AbstractAlfrescoIT;
|
||||||
|
import org.alfresco.rad.test.AlfrescoTestRunner;
|
||||||
|
import org.alfresco.repo.content.MimetypeMap;
|
||||||
|
import org.alfresco.repo.nodelocator.CompanyHomeNodeLocator;
|
||||||
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentReader;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
|
import org.alfresco.service.namespace.QName;
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration Test sample for a custom content model.
|
||||||
|
* See {@link DemoComponentIT} for more info.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
@RunWith(value = AlfrescoTestRunner.class)
|
||||||
|
public class CustomContentModelIT extends AbstractAlfrescoIT {
|
||||||
|
private static final String ACME_MODEL_NS = "{http://www.acme.org/model/content/1.0}";
|
||||||
|
private static final String ACME_MODEL_LOCALNAME = "contentModel";
|
||||||
|
private static final String ACME_DOCUMENT_TYPE = "document";
|
||||||
|
private static final String ACME_SECURITY_CLASSIFIED_ASPECT = "securityClassified";
|
||||||
|
private static final String ACME_DOCUMENT_ID_PROPNAME = "documentId";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCustomContentModelPresence() {
|
||||||
|
Collection<QName> allContentModels = getServiceRegistry().getDictionaryService().getAllModels();
|
||||||
|
QName customContentModelQName = createQName(ACME_MODEL_LOCALNAME);
|
||||||
|
assertTrue("Custom content model " + customContentModelQName.toString() +
|
||||||
|
" is not present", allContentModels.contains(customContentModelQName));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCreateAcmeDocument() {
|
||||||
|
// Create the ACME Doc file
|
||||||
|
QName type = createQName(ACME_DOCUMENT_TYPE);
|
||||||
|
String textContent = "Hello World!";
|
||||||
|
String documentId = "DOC001";
|
||||||
|
Map<QName, Serializable> nodeProperties = new HashMap<>();
|
||||||
|
nodeProperties.put(createQName(ACME_DOCUMENT_ID_PROPNAME), documentId);
|
||||||
|
nodeProperties.put(createQName("securityClassification"), "Company Confidential");
|
||||||
|
NodeRef nodeRef = createNode("AcmeFile.txt", type, nodeProperties);
|
||||||
|
addFileContent(nodeRef, textContent);
|
||||||
|
|
||||||
|
// Add an Aspect to the file (could be a custom aspect...)
|
||||||
|
Map<QName, Serializable> aspectProperties = new HashMap<>();
|
||||||
|
aspectProperties.put(ContentModel.PROP_TITLE, "Some Doc Title");
|
||||||
|
aspectProperties.put(ContentModel.PROP_DESCRIPTION, "Some Doc Description");
|
||||||
|
getServiceRegistry().getNodeService().addAspect(nodeRef, ContentModel.ASPECT_TITLED, aspectProperties);
|
||||||
|
|
||||||
|
// Assert that the file is created correctly
|
||||||
|
assertEquals("Invalid type", type, getServiceRegistry().getNodeService().getType(nodeRef));
|
||||||
|
assertTrue("Missing security aspect",
|
||||||
|
getServiceRegistry().getNodeService().hasAspect(nodeRef, createQName(ACME_SECURITY_CLASSIFIED_ASPECT)));
|
||||||
|
assertTrue("Missing titled aspect",
|
||||||
|
getServiceRegistry().getNodeService().hasAspect(nodeRef, ContentModel.ASPECT_TITLED));
|
||||||
|
assertEquals("Invalid property value", documentId,
|
||||||
|
getServiceRegistry().getNodeService().getProperty(nodeRef, createQName(ACME_DOCUMENT_ID_PROPNAME)));
|
||||||
|
readTextContent(nodeRef).equals(textContent);
|
||||||
|
|
||||||
|
// Clean up node
|
||||||
|
if (nodeRef != null) {
|
||||||
|
getServiceRegistry().getNodeService().deleteNode(nodeRef);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ==================== Helper Methods ============================================================================
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a QName for the ACME content model
|
||||||
|
*
|
||||||
|
* @param localname the local content model name without namespace specified
|
||||||
|
* @return the full ACME QName including namespace
|
||||||
|
*/
|
||||||
|
private QName createQName(String localname) {
|
||||||
|
return QName.createQName(ACME_MODEL_NS + localname);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new node, such as a file or a folder, with passed in type and properties
|
||||||
|
*
|
||||||
|
* @param name the name of the file or folder
|
||||||
|
* @param type the content model type
|
||||||
|
* @param properties the properties from the content model
|
||||||
|
* @return the Node Reference for the newly created node
|
||||||
|
*/
|
||||||
|
private NodeRef createNode(String name, QName type, Map<QName, Serializable> properties) {
|
||||||
|
NodeRef parentFolderNodeRef = getCompanyHomeNodeRef();
|
||||||
|
QName associationType = ContentModel.ASSOC_CONTAINS;
|
||||||
|
QName associationQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI,
|
||||||
|
QName.createValidLocalName(name));
|
||||||
|
properties.put(ContentModel.PROP_NAME, name);
|
||||||
|
ChildAssociationRef parentChildAssocRef = getServiceRegistry().getNodeService().createNode(
|
||||||
|
parentFolderNodeRef, associationType, associationQName, type, properties);
|
||||||
|
|
||||||
|
return parentChildAssocRef.getChildRef();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add some text content to a file node
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference for the file that should have some text content added to it
|
||||||
|
* @param fileContent the text content
|
||||||
|
*/
|
||||||
|
private void addFileContent(NodeRef nodeRef, String fileContent) {
|
||||||
|
boolean updateContentPropertyAutomatically = true;
|
||||||
|
ContentWriter writer = getServiceRegistry().getContentService().getWriter(nodeRef, ContentModel.PROP_CONTENT,
|
||||||
|
updateContentPropertyAutomatically);
|
||||||
|
writer.setMimetype(MimetypeMap.MIMETYPE_TEXT_PLAIN);
|
||||||
|
writer.setEncoding("UTF-8");
|
||||||
|
writer.putContent(fileContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read text content for passed in file Node Reference
|
||||||
|
*
|
||||||
|
* @param nodeRef the node reference for a file containing text
|
||||||
|
* @return the text content
|
||||||
|
*/
|
||||||
|
private String readTextContent(NodeRef nodeRef) {
|
||||||
|
ContentReader reader = getServiceRegistry().getContentService().getReader(nodeRef, ContentModel.PROP_CONTENT);
|
||||||
|
if (reader == null) {
|
||||||
|
return ""; // Maybe it was a folder after all
|
||||||
|
}
|
||||||
|
|
||||||
|
InputStream is = reader.getContentInputStream();
|
||||||
|
try {
|
||||||
|
return IOUtils.toString(is, "UTF-8");
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
throw new RuntimeException(ioe);
|
||||||
|
} finally {
|
||||||
|
if (is != null) {
|
||||||
|
try {
|
||||||
|
is.close();
|
||||||
|
} catch (Throwable e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the node reference for the /Company Home top folder in Alfresco.
|
||||||
|
* Use the standard node locator service.
|
||||||
|
*
|
||||||
|
* @return the node reference for /Company Home
|
||||||
|
*/
|
||||||
|
private NodeRef getCompanyHomeNodeRef() {
|
||||||
|
return getServiceRegistry().getNodeLocatorService().getNode(CompanyHomeNodeLocator.NAME, null, null);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,67 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.alfresco.rad.test.AbstractAlfrescoIT;
|
||||||
|
import org.alfresco.rad.test.AlfrescoTestRunner;
|
||||||
|
import org.alfresco.rad.test.Remote;
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration Test of the DemoComponent using the Alfresco Test Runner.
|
||||||
|
* The Alfresco Test Runner (i.e. AlfrescoTestRunner.class) will check if it is running in an Alfresco instance,
|
||||||
|
* if so it will execute normally locally. On the other hand, if it detects no
|
||||||
|
* Alfresco Spring context, then it will make a call to a custom Web Script that
|
||||||
|
* will execute this test in the running container remotely. The remote location is
|
||||||
|
* determined by the @Remote config.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
@RunWith(value = AlfrescoTestRunner.class)
|
||||||
|
public class DemoComponentIT extends AbstractAlfrescoIT {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testGetCompanyHome() {
|
||||||
|
DemoComponent demoComponent = (DemoComponent) getApplicationContext().getBean("${package}.DemoComponent");
|
||||||
|
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||||
|
assertNotNull(companyHome);
|
||||||
|
String companyHomePath = getServiceRegistry().getNodeService().getPath(companyHome).toPrefixString(getServiceRegistry().getNamespaceService());
|
||||||
|
assertNotNull(companyHomePath);
|
||||||
|
assertEquals("/app:company_home", companyHomePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testChildNodesCount() {
|
||||||
|
DemoComponent demoComponent = (DemoComponent) getApplicationContext().getBean("${package}.DemoComponent");
|
||||||
|
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||||
|
int childNodeCount = demoComponent.childNodesCount(companyHome);
|
||||||
|
assertNotNull(childNodeCount);
|
||||||
|
// There are 7 folders by default under Company Home
|
||||||
|
assertEquals(7, childNodeCount);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,85 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.http.HttpEntity;
|
||||||
|
import org.apache.http.HttpResponse;
|
||||||
|
import org.apache.http.HttpStatus;
|
||||||
|
import org.apache.http.auth.AuthScope;
|
||||||
|
import org.apache.http.auth.UsernamePasswordCredentials;
|
||||||
|
import org.apache.http.client.CredentialsProvider;
|
||||||
|
import org.apache.http.client.methods.HttpGet;
|
||||||
|
import org.apache.http.impl.client.BasicCredentialsProvider;
|
||||||
|
import org.apache.http.impl.client.CloseableHttpClient;
|
||||||
|
import org.apache.http.impl.client.HttpClientBuilder;
|
||||||
|
import org.apache.http.util.EntityUtils;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Integration Test (IT) for Hello World web script.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @version 1.0
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
public class HelloWorldWebScriptIT {
|
||||||
|
|
||||||
|
private static final String ACS_ENDPOINT_PROP = "acs.endpoint.path";
|
||||||
|
private static final String ACS_DEFAULT_ENDPOINT = "http://localhost:8080/alfresco";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testWebScriptCall() throws Exception {
|
||||||
|
String webscriptURL = getPlatformEndpoint() + "/service/sample/helloworld";
|
||||||
|
String expectedResponse = "Message: 'Hello from JS!' 'HelloFromJava'";
|
||||||
|
|
||||||
|
// Login credentials for Alfresco Repo
|
||||||
|
CredentialsProvider provider = new BasicCredentialsProvider();
|
||||||
|
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("admin", "admin");
|
||||||
|
provider.setCredentials(AuthScope.ANY, credentials);
|
||||||
|
|
||||||
|
// Create HTTP Client with credentials
|
||||||
|
CloseableHttpClient httpclient = HttpClientBuilder.create()
|
||||||
|
.setDefaultCredentialsProvider(provider)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
// Execute Web Script call
|
||||||
|
try {
|
||||||
|
HttpGet httpget = new HttpGet(webscriptURL);
|
||||||
|
HttpResponse httpResponse = httpclient.execute(httpget);
|
||||||
|
assertEquals("Incorrect HTTP Response Status",
|
||||||
|
HttpStatus.SC_OK, httpResponse.getStatusLine().getStatusCode());
|
||||||
|
HttpEntity entity = httpResponse.getEntity();
|
||||||
|
assertNotNull("Response from Web Script is null", entity);
|
||||||
|
assertEquals("Incorrect Web Script Response", expectedResponse, EntityUtils.toString(entity));
|
||||||
|
} finally {
|
||||||
|
httpclient.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getPlatformEndpoint() {
|
||||||
|
final String platformEndpoint = System.getProperty(ACS_ENDPOINT_PROP);
|
||||||
|
return StringUtils.isNotBlank(platformEndpoint) ? platformEndpoint : ACS_DEFAULT_ENDPOINT;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,130 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>${artifactId}</artifactId>
|
||||||
|
<name>Alfresco Platform/Repository Docker Module</name>
|
||||||
|
<description>Platform/Repo Docker Module to generate the final Docker image</description>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-platform</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-integration-tests</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
<classifier>tests</classifier>
|
||||||
|
</dependency>
|
||||||
|
<!-- Add any additional AMPs or extension JARs here that you want to be deployed in Alfresco -->
|
||||||
|
<!-- IMPORTANT:
|
||||||
|
If using amp extensions only, add <includeTypes>amp</includeTypes> to the "collect-extensions" execution below.
|
||||||
|
If using both amp and jar extensions, you have to add:
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>*</groupId>
|
||||||
|
<artifactId>*</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
to each amp dependency definition.
|
||||||
|
-->
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<!-- Copy the repository extension and the dependencies required for execute integration tests -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-test-artifacts</id>
|
||||||
|
<phase>pre-integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<excludeScope>compile</excludeScope>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<!-- Collect extensions (JARs or AMPs) declared in this module do be deployed to docker -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-extensions</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<includeScope>runtime</includeScope>
|
||||||
|
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- Filter the Dockerfile and the other files added to the container to be able to replace maven properties -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/*.jar</exclude>
|
||||||
|
<exclude>**/*.so</exclude>
|
||||||
|
<exclude>**/*.gz</exclude>
|
||||||
|
</excludes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources-non-filtered</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.jar</include>
|
||||||
|
<include>**/*.so</include>
|
||||||
|
<include>**/*.gz</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
@@ -0,0 +1,29 @@
|
|||||||
|
FROM ${docker.acs.image}:${alfresco.platform.version}
|
||||||
|
|
||||||
|
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||||
|
ARG USERNAME=${alfresco.platform.docker.user}
|
||||||
|
|
||||||
|
USER root
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no JARs exist
|
||||||
|
COPY Dockerfile extensions/*.jar $TOMCAT_DIR/webapps/alfresco/WEB-INF/lib/
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no AMPs exist
|
||||||
|
COPY Dockerfile extensions/*.amp $TOMCAT_DIR/amps/
|
||||||
|
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
|
||||||
|
$TOMCAT_DIR/amps $TOMCAT_DIR/webapps/alfresco -directory -nobackup -force
|
||||||
|
|
||||||
|
COPY alfresco-global.properties $TOMCAT_DIR/shared/classes/alfresco-global.properties
|
||||||
|
COPY dev-log4j2.properties $TOMCAT_DIR/shared/classes/alfresco/extension/dev-log4j2.properties
|
||||||
|
COPY disable-webscript-caching-context.xml $TOMCAT_DIR/shared/classes/alfresco/extension
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no license file exists
|
||||||
|
COPY Dockerfile license/*.* $TOMCAT_DIR/webapps/alfresco/WEB-INF/classes/alfresco/extension/license/
|
||||||
|
|
||||||
|
# Move the log file
|
||||||
|
RUN sed -i -e "s_appender.rolling.fileName\=alfresco.log_appender.rolling.fileName\=${TOMCAT_DIR}/logs\/alfresco.log_" \
|
||||||
|
${TOMCAT_DIR}/shared/classes/alfresco/extension/dev-log4j2.properties && \
|
||||||
|
sed -i -e "s_appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}_appender.rolling.filePattern\=${TOMCAT_DIR}/logs\/alfresco.log.%d{yyyy-MM-dd}_" \
|
||||||
|
${TOMCAT_DIR}/shared/classes/alfresco/extension/dev-log4j2.properties
|
||||||
|
|
||||||
|
USER ${USERNAME}
|
@@ -0,0 +1,88 @@
|
|||||||
|
#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.
|
||||||
|
# RUN TIME PROPERTIES
|
||||||
|
# -------------------
|
||||||
|
|
||||||
|
#
|
||||||
|
# Alfresco configuration for running locally with PostgreSQL Database
|
||||||
|
#
|
||||||
|
# Configuration when running Tomcat embedded from Maven.
|
||||||
|
# Property values from the POM but it can also be edited here.
|
||||||
|
#
|
||||||
|
|
||||||
|
# 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=8180
|
||||||
|
share.protocol=http
|
||||||
|
|
||||||
|
# Don't try and recover any index
|
||||||
|
index.recovery.mode=NONE
|
||||||
|
|
||||||
|
# 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
|
||||||
|
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||||
|
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||||
|
|
||||||
|
# Fail or not when there are node integrity checker errors
|
||||||
|
integrity.failOnError=true
|
||||||
|
|
||||||
|
# Alfresco Repository PostgreSQL Database configuration.
|
||||||
|
# The PostgreSQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||||
|
db.driver=org.postgresql.Driver
|
||||||
|
|
||||||
|
# This Alfresco Platform Configuration file should be used for custom properties that are introduced by this module.
|
||||||
|
# Define default values for all properties here.
|
||||||
|
# System Administrators can override these values in environment specific configurations in
|
||||||
|
# alfresco/tomcat/shared/classes/alfresco-global.properties.
|
||||||
|
#
|
||||||
|
index.subsystem.name=solr6
|
||||||
|
solr.host=${rootArtifactId}-ass
|
||||||
|
solr.port=8983
|
||||||
|
solr.secureComms=secret
|
||||||
|
solr.sharedSecret=secret
|
||||||
|
|
||||||
|
db.username=alfresco
|
||||||
|
db.password=alfresco
|
||||||
|
db.pool.initial=10
|
||||||
|
db.pool.max=100
|
||||||
|
|
||||||
|
db.url=jdbc:postgresql://${rootArtifactId}-postgres:5432/alfresco
|
||||||
|
|
||||||
|
# File servers related properties
|
||||||
|
# For local runs we disable CIFS and FTP
|
||||||
|
cifs.enabled=false
|
||||||
|
ftp.enabled=false
|
||||||
|
|
||||||
|
csrf.filter.enabled=false
|
||||||
|
|
||||||
|
# Embedded broker without persistence
|
||||||
|
messaging.broker.url=vm://localhost?broker.persistent=false
|
||||||
|
|
||||||
|
# Disable ATS
|
||||||
|
transform.service.enabled=false
|
||||||
|
local.transform.service.enabled=false
|
||||||
|
legacy.transform.service.enabled=false
|
@@ -0,0 +1,412 @@
|
|||||||
|
rootLogger.level=error
|
||||||
|
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||||
|
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||||
|
|
||||||
|
# All outputs currently set to be a ConsoleAppender.
|
||||||
|
appender.console.type=Console
|
||||||
|
appender.console.name=ConsoleAppender
|
||||||
|
appender.console.layout.type=PatternLayout
|
||||||
|
# use log4j NDC to replace %x with tenant domain / username
|
||||||
|
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
|
||||||
|
# File appender definition #
|
||||||
|
appender.rolling.type=RollingFile
|
||||||
|
appender.rolling.name=RollingAppender
|
||||||
|
appender.rolling.fileName=alfresco.log
|
||||||
|
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
|
||||||
|
appender.rolling.layout.type=PatternLayout
|
||||||
|
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
appender.rolling.policies.type = Policies
|
||||||
|
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
|
||||||
|
appender.rolling.policies.time.interval = 1
|
||||||
|
|
||||||
|
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4J2HierarchyInit)
|
||||||
|
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
|
||||||
|
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
|
||||||
|
# Log4j2 addLoggerMBean as long as the logger exists and has been loaded.
|
||||||
|
|
||||||
|
# Hibernate
|
||||||
|
logger.hibernate.name=org.hibernate
|
||||||
|
logger.hibernate.level=error
|
||||||
|
|
||||||
|
logger.hibernate-util-JDBCExceptionReporter.name=org.hibernate.util.JDBCExceptionReporter
|
||||||
|
logger.hibernate-util-JDBCExceptionReporter.level=fatal
|
||||||
|
|
||||||
|
logger.hibernate-event-def-AbstractFlushingEventListener.name=org.hibernate.event.def.AbstractFlushingEventListener
|
||||||
|
logger.hibernate-event-def-AbstractFlushingEventListener.level=fatal
|
||||||
|
|
||||||
|
logger.hibernate-type.name=org.hibernate.type
|
||||||
|
logger.hibernate-type.level=warn
|
||||||
|
|
||||||
|
logger.hibernate-cfg-SettingsFactory.name=org.hibernate.cfg.SettingsFactory
|
||||||
|
logger.hibernate-cfg-SettingsFactory.level=warn
|
||||||
|
|
||||||
|
# Spring
|
||||||
|
logger.springframework.name=org.springframework
|
||||||
|
logger.springframework.level=warn
|
||||||
|
# Turn off Spring remoting warnings that should really be info or debug.
|
||||||
|
logger.springframework-remoting-support.name=org.springframework.remoting.support
|
||||||
|
logger.springframework-remoting-support.level=error
|
||||||
|
|
||||||
|
logger.springframework-util.name=org.springframework.util
|
||||||
|
logger.springframework-util.level=error
|
||||||
|
|
||||||
|
# Axis/WSS4J
|
||||||
|
logger.apache-axis.name=org.apache.axis
|
||||||
|
logger.apache-axis.level=info
|
||||||
|
|
||||||
|
logger.apache-ws.name=org.apache.ws
|
||||||
|
logger.apache-ws.level=info
|
||||||
|
|
||||||
|
# CXF
|
||||||
|
logger.apache-cxf.name=org.apache.cxf
|
||||||
|
logger.apache-cxf.level=error
|
||||||
|
|
||||||
|
# MyFaces
|
||||||
|
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
|
||||||
|
logger.apache-myfaces-util-DebugUtils.level=info
|
||||||
|
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
|
||||||
|
logger.apache-myfaces-taglib.level=error
|
||||||
|
|
||||||
|
# OpenOfficeConnection
|
||||||
|
logger.sf-jooreports-openoffice-connection.name=net.sf.jooreports.openoffice.connection
|
||||||
|
logger.sf-jooreports-openoffice-connection.level=fatal
|
||||||
|
|
||||||
|
# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
||||||
|
|
||||||
|
# Alfresco
|
||||||
|
logger.alfresco.name=org.alfresco
|
||||||
|
logger.alfresco.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-admin.name=org.alfresco.repo.admin
|
||||||
|
logger.alfresco-repo-admin.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-transaction.name=org.alfresco.repo.transaction
|
||||||
|
logger.alfresco-repo-transaction.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-cache-TransactionalCache.name=org.alfresco.repo.cache.TransactionalCache
|
||||||
|
logger.alfresco-repo-cache-TransactionalCache.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-model-filefolder.name=org.alfresco.repo.model.filefolder
|
||||||
|
logger.alfresco-repo-model-filefolder.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-tenant.name=org.alfresco.repo.tenant
|
||||||
|
logger.alfresco-repo-tenant.level=info
|
||||||
|
|
||||||
|
logger.alfresco-config.name=org.alfresco.config
|
||||||
|
logger.alfresco-config.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-config-JBossEnabledWebApplicationContext.name=org.alfresco.config.JBossEnabledWebApplicationContext
|
||||||
|
logger.alfresco-config-JBossEnabledWebApplicationContext.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-management-subsystems.name=org.alfresco.repo.management.subsystems
|
||||||
|
logger.alfresco-repo-management-subsystems.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.name=org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext
|
||||||
|
logger.alfresco-repo-management-subsystems-ChildApplicationContextFactory$ChildApplicationContext.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-security-sync.name=org.alfresco.repo.security.sync
|
||||||
|
logger.alfresco-repo-security-sync.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-security-person.name=org.alfresco.repo.security.person
|
||||||
|
logger.alfresco-repo-security-person.level=info
|
||||||
|
|
||||||
|
logger.alfresco-sample.name=org.alfresco.sample
|
||||||
|
logger.alfresco-sample.level=info
|
||||||
|
|
||||||
|
logger.alfresco-web.name=org.alfresco.web
|
||||||
|
logger.alfresco-web.level=info
|
||||||
|
|
||||||
|
logger.alfresco-service-descriptor-DescriptorService.name=org.alfresco.service.descriptor.DescriptorService
|
||||||
|
logger.alfresco-service-descriptor-DescriptorService.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-importer-ImporterBootstrap.name=org.alfresco.repo.importer.ImporterBootstrap
|
||||||
|
logger.alfresco-repo-importer-ImporterBootstrap.level=error
|
||||||
|
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-admin-patch-PatchExecuter.name=org.alfresco.repo.admin.patch.PatchExecuter
|
||||||
|
logger.alfresco-repo-admin-patch-PatchExecuter.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.name=org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl
|
||||||
|
logger.alfresco-repo-domain-patch-ibatis-PatchDAOImpl.level=info
|
||||||
|
|
||||||
|
# Specific patches
|
||||||
|
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.name=org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch
|
||||||
|
logger.alfresco-repo-admin-patch-impl-DeploymentMigrationPatch.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-version-VersionMigrator.name=org.alfresco.repo.version.VersionMigrator
|
||||||
|
logger.alfresco-repo-version-VersionMigrator.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-module-ModuleServiceImpl.name=org.alfresco.repo.module.ModuleServiceImpl
|
||||||
|
logger.alfresco-repo-module-ModuleServiceImpl.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-SchemaBootstrap.name=org.alfresco.repo.domain.schema.SchemaBootstrap
|
||||||
|
logger.alfresco-repo-domain-schema-SchemaBootstrap.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-admin-ConfigurationChecker.name=org.alfresco.repo.admin.ConfigurationChecker
|
||||||
|
logger.alfresco-repo-admin-ConfigurationChecker.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-index-AbstractReindexComponent.name=org.alfresco.repo.node.index.AbstractReindexComponent
|
||||||
|
logger.alfresco-repo-node-index-AbstractReindexComponent.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-index-IndexTransactionTracker.name=org.alfresco.repo.node.index.IndexTransactionTracker
|
||||||
|
logger.alfresco-repo-node-index-IndexTransactionTracker.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.name=org.alfresco.repo.node.index.FullIndexRecoveryComponent
|
||||||
|
logger.alfresco-repo-node-index-FullIndexRecoveryComponent.level=info
|
||||||
|
|
||||||
|
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.name=org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl
|
||||||
|
#logger.alfresco-repo-node-db-hibernate-HibernateNodeDaoServiceImpl.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.name=org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor
|
||||||
|
logger.alfresco-repo-domain-hibernate-DirtySessionMethodInterceptor.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-transaction-RetryingTransactionHelper.name=org.alfresco.repo.transaction.RetryingTransactionHelper
|
||||||
|
logger.alfresco-repo-transaction-RetryingTransactionHelper.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.name=org.alfresco.util.transaction.SpringAwareUserTransaction.trace
|
||||||
|
logger.alfresco-util-transaction-SpringAwareUserTransaction-trace.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-util-AbstractTriggerBean.name=org.alfresco.util.AbstractTriggerBean
|
||||||
|
logger.alfresco-util-AbstractTriggerBean.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-enterprise-repo-cluster.name=org.alfresco.enterprise.repo.cluster
|
||||||
|
logger.alfresco-enterprise-repo-cluster.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-version-Version2ServiceImpl.name=org.alfresco.repo.version.Version2ServiceImpl
|
||||||
|
logger.alfresco-repo-version-Version2ServiceImpl.level=warn
|
||||||
|
|
||||||
|
#logger.alfresco-web-app-DebugPhaseListener.name=org.alfresco.web.app.DebugPhaseListener
|
||||||
|
#logger.alfresco-web-app-DebugPhaseListener.level=debug
|
||||||
|
|
||||||
|
logger.alfresco-repo-node-db-NodeStringLengthWorker.name=org.alfresco.repo.node.db.NodeStringLengthWorker
|
||||||
|
logger.alfresco-repo-node-db-NodeStringLengthWorker.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-workflow.name=org.alfresco.repo.workflow
|
||||||
|
logger.alfresco-repo-workflow.level=info
|
||||||
|
|
||||||
|
# FTP server debugging
|
||||||
|
logger.alfresco-ftp-protocol.name=org.alfresco.ftp.protocol
|
||||||
|
logger.alfresco-ftp-protocol.level=error
|
||||||
|
|
||||||
|
# WebDAV debugging
|
||||||
|
logger.alfresco-webdav-protocol.name=org.alfresco.webdav.protocol
|
||||||
|
logger.alfresco-webdav-protocol.level=info
|
||||||
|
|
||||||
|
# NTLM servlet filters
|
||||||
|
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
|
||||||
|
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
|
||||||
|
|
||||||
|
# Kerberos servlet filters
|
||||||
|
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
|
||||||
|
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
|
||||||
|
|
||||||
|
# File servers
|
||||||
|
logger.alfresco-fileserver.name=org.alfresco.fileserver
|
||||||
|
logger.alfresco-fileserver.level=warn
|
||||||
|
|
||||||
|
# Repo filesystem debug logging
|
||||||
|
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
|
||||||
|
|
||||||
|
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
|
||||||
|
logger.alfresco-repo-node-integrity.name=org.alfresco.repo.node.integrity
|
||||||
|
logger.alfresco-repo-node-integrity.level=error
|
||||||
|
|
||||||
|
# Indexer debugging
|
||||||
|
logger.alfresco-repo-search-Indexer.name=org.alfresco.repo.search.Indexer
|
||||||
|
logger.alfresco-repo-search-Indexer.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index.name=org.alfresco.repo.search.impl.lucene.index
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.name=org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl
|
||||||
|
logger.alfresco-repo-search-impl-lucene-fts-FullTextSearchIndexerImpl.level=warn
|
||||||
|
|
||||||
|
# Audit debugging
|
||||||
|
# log4j.logger.org.alfresco.repo.audit=DEBUG
|
||||||
|
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
|
||||||
|
|
||||||
|
# Property sheet and modelling debugging
|
||||||
|
# change to error to hide the warnings about missing properties and associations
|
||||||
|
logger.missingProperties.name=alfresco.missingProperties
|
||||||
|
logger.missingProperties.level=warn
|
||||||
|
|
||||||
|
# Dictionary/Model debugging
|
||||||
|
logger.alfresco-repo-dictionary.name=org.alfresco.repo.dictionary
|
||||||
|
logger.alfresco-repo-dictionary.level=warn
|
||||||
|
|
||||||
|
# Virtualization Server Registry
|
||||||
|
logger.alfresco-mbeans-VirtServerRegistry.name=org.alfresco.mbeans.VirtServerRegistry
|
||||||
|
logger.alfresco-mbeans-VirtServerRegistry.level=error
|
||||||
|
|
||||||
|
# Spring context runtime property setter
|
||||||
|
logger.alfresco-util-RuntimeSystemPropertiesSetter.name=org.alfresco.util.RuntimeSystemPropertiesSetter
|
||||||
|
logger.alfresco-util-RuntimeSystemPropertiesSetter.level=info
|
||||||
|
|
||||||
|
# Debugging options for clustering
|
||||||
|
logger.alfresco-repo-content-ReplicatingContentStore.name=org.alfresco.repo.content.ReplicatingContentStore
|
||||||
|
logger.alfresco-repo-content-ReplicatingContentStore.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-content-replication.name=org.alfresco.repo.content.replication
|
||||||
|
logger.alfresco-repo-content-replication.level=error
|
||||||
|
|
||||||
|
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
|
||||||
|
|
||||||
|
# Activity service
|
||||||
|
logger.alfresco-repo-activities.name=org.alfresco.repo.activities
|
||||||
|
logger.alfresco-repo-activities.level=warn
|
||||||
|
|
||||||
|
# User usage tracking
|
||||||
|
logger.alfresco-repo-usage.name=org.alfresco.repo.usage
|
||||||
|
logger.alfresco-repo-usage.level=info
|
||||||
|
|
||||||
|
# Sharepoint
|
||||||
|
logger.alfresco-module-vti.name=org.alfresco.module.vti
|
||||||
|
logger.alfresco-module-vti.level=info
|
||||||
|
|
||||||
|
# Forms Engine
|
||||||
|
logger.alfresco-web-config-forms.name=org.alfresco.web.config.forms
|
||||||
|
logger.alfresco-web-config-forms.level=info
|
||||||
|
|
||||||
|
logger.alfresco-web-scripts-forms.name=org.alfresco.web.scripts.forms
|
||||||
|
logger.alfresco-web-scripts-forms.level=info
|
||||||
|
|
||||||
|
# CMIS
|
||||||
|
logger.alfresco-opencmis.name=org.alfresco.opencmis
|
||||||
|
logger.alfresco-opencmis.level=error
|
||||||
|
|
||||||
|
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.name=org.alfresco.opencmis.AlfrescoCmisServiceInterceptor
|
||||||
|
logger.alfresco-opencmis-AlfrescoCmisServiceInterceptor.level=error
|
||||||
|
|
||||||
|
logger.alfresco-cmis.name=org.alfresco.cmis
|
||||||
|
logger.alfresco-cmis.level=error
|
||||||
|
|
||||||
|
logger.alfresco-cmis-dictionary.name=org.alfresco.cmis.dictionary
|
||||||
|
logger.alfresco-cmis-dictionary.level=warn
|
||||||
|
|
||||||
|
logger.apache-chemistry-opencmis.name=org.apache.chemistry.opencmis
|
||||||
|
logger.apache-chemistry-opencmis.level=info
|
||||||
|
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.name=org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-browser-CmisBrowserBindingServlet.level=off
|
||||||
|
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.name=org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet
|
||||||
|
logger.apache-chemistry-opencmis-server-impl-atompub-CmisAtomPubServlet.level=off
|
||||||
|
|
||||||
|
# IMAP
|
||||||
|
logger.alfresco-repo-imap.name=org.alfresco.repo.imap
|
||||||
|
logger.alfresco-repo-imap.level=info
|
||||||
|
|
||||||
|
# JBPM
|
||||||
|
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
|
||||||
|
logger.jbpm-graph-def-GraphElement.name=org.jbpm.graph.def.GraphElement
|
||||||
|
logger.jbpm-graph-def-GraphElement.level=fatal
|
||||||
|
|
||||||
|
# Web Framework
|
||||||
|
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
|
||||||
|
logger.springframework-extensions-webscripts.level=info
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
|
||||||
|
|
||||||
|
# Repository
|
||||||
|
logger.alfresco-repo-web-scripts.name=org.alfresco.repo.web.scripts
|
||||||
|
logger.alfresco-repo-web-scripts.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-web-scripts-BaseWebScriptTest.name=org.alfresco.repo.web.scripts.BaseWebScriptTest
|
||||||
|
logger.alfresco-repo-web-scripts-BaseWebScriptTest.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.name=org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger
|
||||||
|
logger.alfresco-repo-web-scripts-AlfrescoRhinoScriptDebugger.level=off
|
||||||
|
|
||||||
|
logger.alfresco-repo-jscript.name=org.alfresco.repo.jscript
|
||||||
|
logger.alfresco-repo-jscript.level=error
|
||||||
|
|
||||||
|
logger.alfresco-repo-jscript-ScriptLogger.name=org.alfresco.repo.jscript.ScriptLogger
|
||||||
|
logger.alfresco-repo-jscript-ScriptLogger.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-cmis-rest-CMISTest.name=org.alfresco.repo.cmis.rest.CMISTest
|
||||||
|
logger.alfresco-repo-cmis-rest-CMISTest.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptBundleExecutorImpl.level=off
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.name=org.alfresco.repo.domain.schema.script.ScriptExecutorImpl
|
||||||
|
logger.alfresco-repo-domain-schema-script-ScriptExecutorImpl.level=info
|
||||||
|
|
||||||
|
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.name=org.alfresco.repo.domain.schema.script.DeleteNotExistsExecutor
|
||||||
|
logger.alfresco-repo-domain-schema-script-DeleteNotExistsExecutor.level=off
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.name=org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl
|
||||||
|
logger.alfresco-repo-search-impl-solr-facet-SolrFacetServiceImpl.level=info
|
||||||
|
|
||||||
|
# Bulk Filesystem Import Tool
|
||||||
|
logger.alfresco-repo-bulkimport.name=org.alfresco.repo.bulkimport
|
||||||
|
logger.alfresco-repo-bulkimport.level=warn
|
||||||
|
|
||||||
|
# Freemarker
|
||||||
|
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||||
|
logger.runtime.name=freemarker.runtime
|
||||||
|
logger.runtime.level=
|
||||||
|
|
||||||
|
# Metadata extraction
|
||||||
|
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.name=org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter
|
||||||
|
logger.alfresco-repo-content-metadata-AbstractMappingMetadataExtracter.level=warn
|
||||||
|
|
||||||
|
# Reduces PDFont error level due to ALF-7105
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.name=org.apache.pdfbox.pdmodel.font.PDSimpleFont
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDSimpleFont.level=fatal
|
||||||
|
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDCIDFont.name=org.apache.pdfbox.pdmodel.font.PDCIDFont
|
||||||
|
logger.apache-pdfbox-pdmodel-font-PDCIDFont.level=fatal
|
||||||
|
|
||||||
|
# no index support
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.name=org.alfresco.repo.search.impl.noindex.NoIndexIndexer
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexIndexer.level=fatal
|
||||||
|
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.name=org.alfresco.repo.search.impl.noindex.NoIndexSearchService
|
||||||
|
logger.alfresco-repo-search-impl-noindex-NoIndexSearchService.level=fatal
|
||||||
|
|
||||||
|
# lucene index warnings
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.name=org.alfresco.repo.search.impl.lucene.index.IndexInfo
|
||||||
|
logger.alfresco-repo-search-impl-lucene-index-IndexInfo.level=warn
|
||||||
|
|
||||||
|
# Warn about RMI socket bind retries.
|
||||||
|
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.name=org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory
|
||||||
|
logger.alfresco-util-remote-server-socket-HostConfigurableSocketFactory.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-repo-usage-RepoUsageMonitor.name=org.alfresco.repo.usage.RepoUsageMonitor
|
||||||
|
logger.alfresco-repo-usage-RepoUsageMonitor.level=info
|
||||||
|
|
||||||
|
# Authorization
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationService.name=org.alfresco.enterprise.repo.authorization.AuthorizationService
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationService.level=info
|
||||||
|
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.name=org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor
|
||||||
|
logger.alfresco-enterprise-repo-authorization-AuthorizationsConsistencyMonitor.level=warn
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Platform module logging
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
logger.platformsample-DemoComponent.name=${package}.platformsample.DemoComponent
|
||||||
|
logger.platformsample-DemoComponent.level=debug
|
||||||
|
logger.platformsample-HelloWorldWebScript.name=${package}.platformsample.HelloWorldWebScript
|
||||||
|
logger.platformsample-HelloWorldWebScript.level=debug
|
||||||
|
|
||||||
|
|
@@ -17,7 +17,17 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<beans>
|
<beans>
|
||||||
<!-- This disables javascript compilation so that webscripts can be hot reloaded -->
|
<!--
|
||||||
|
To support hot reloading of server side Javascript files in Share, we have to turn on development mode.
|
||||||
|
This setting will tell the Rhinoscript Processor not to compile and cache the JS files.
|
||||||
|
Cool, we can now change server side JS files and have the changes picked up,
|
||||||
|
without having to restart or refresh web scripts.
|
||||||
|
|
||||||
|
But… Due to a known bug in the Surf framework (ALF-9970) this will break the admin consoles in Share.
|
||||||
|
|
||||||
|
Override this bean and disable javascript compilation so that webscripts can be hot reloaded.
|
||||||
|
We have changed the 'compile' property from true to false.
|
||||||
|
-->
|
||||||
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
|
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
|
||||||
<property name="name">
|
<property name="name">
|
||||||
<value>javascript</value>
|
<value>javascript</value>
|
||||||
@@ -25,7 +35,7 @@
|
|||||||
<property name="extension">
|
<property name="extension">
|
||||||
<value>js</value>
|
<value>js</value>
|
||||||
</property>
|
</property>
|
||||||
<!-- compile javascript and cache compiled scripts -->
|
<!-- Do not "compile javascript and cache compiled scripts" -->
|
||||||
<property name="compile">
|
<property name="compile">
|
||||||
<value>false</value>
|
<value>false</value>
|
||||||
</property>
|
</property>
|
@@ -0,0 +1,51 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
# Enable hotswap so that changes in this module will be automatically reloaded
|
||||||
|
# Watch for changed class files on watchResources path and reload class definition in the running application.
|
||||||
|
autoHotswap=true
|
||||||
|
#autoHotswap.port=8000
|
||||||
|
|
||||||
|
# Add a directory prior to application classpath (load classes and resources).
|
||||||
|
#
|
||||||
|
# This may be useful for example in multi module maven project to load class changes from upstream project
|
||||||
|
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to
|
||||||
|
# classes from built JAR file.
|
||||||
|
# i.e. monitor /target/classes
|
||||||
|
# should work with extraClasspath=${project.build.outputDirectory}
|
||||||
|
# If not try
|
||||||
|
extraClasspath=/usr/local/tomcat/hotswap-agent
|
||||||
|
|
||||||
|
# Comma separated list of disabled plugins
|
||||||
|
# Use plugin name - e.g.
|
||||||
|
# Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat,
|
||||||
|
# ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox, Proxy, WebObjects, Weld, JBossModules, Resteasy, Gae
|
||||||
|
disabledPlugins=Hibernate,Spring
|
||||||
|
|
||||||
|
# Add a directory prior to webapp path (load webapp resources).
|
||||||
|
#
|
||||||
|
# Load web application resources (such as HTML, JSP, CSS, ...) from this directory prior to default processing.
|
||||||
|
# Use this setting to set to serve resources from source directory directly (e.g. src/main/webapp).
|
||||||
|
extraWebappContext=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-platform/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Load static web resources from different directory.
|
||||||
|
#
|
||||||
|
# This setting is dependent on application server plugin(Jetty, Tomcat, JBoss, ...)
|
||||||
|
webappDir=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-platform/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Watch for changes in a directory (resources only).
|
||||||
|
#
|
||||||
|
# Similar to extraClasspath this property adds classpath when searching for resources (not classes).
|
||||||
|
# While extra classpath just modifies the classloader, this setting does nothing until the resource
|
||||||
|
# is really changed.
|
||||||
|
#
|
||||||
|
# Sometimes it is not possible to point extraClasspath to your i.e. src/main/resources, because there are multiple
|
||||||
|
# replacements of resources in a building step (maven filtering resource option).
|
||||||
|
# This setting will leave i.e. src/target/classes as default source for resources, but after the resource is modified
|
||||||
|
# in src/main/resources, the new changed resource is served instead.
|
||||||
|
# watchResources=
|
||||||
|
|
||||||
|
LOGGER.org.hotswap.agent=DEBUG
|
||||||
|
#LOGGER.org.hotswap.agent.plugin=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.watch=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.command=TRACE
|
@@ -0,0 +1,6 @@
|
|||||||
|
# Enterprise License location
|
||||||
|
|
||||||
|
Put the Alfresco Enterprise license file in this directory.
|
||||||
|
It will then be copied into the ACS container in the
|
||||||
|
$TOMCAT_DIR/WEB-INF/classes/alfresco/extension/license directory.
|
||||||
|
|
@@ -0,0 +1,30 @@
|
|||||||
|
<?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 Platform/Repository JAR Module</name>
|
||||||
|
<description>Platform/Repo JAR Module (to be included in the alfresco.war) - part of AIO - SDK 4.11.0</description>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
@@ -0,0 +1,66 @@
|
|||||||
|
<assembly
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Note that the Module dependency specified in the configuration section for the Alfresco Maven Plugin
|
||||||
|
needs to be set to amp if any 3rd party libs should be applied by MMT:
|
||||||
|
`
|
||||||
|
<platformModules>
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-platform</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<id>build-amp-file</id>
|
||||||
|
|
||||||
|
<formats>
|
||||||
|
<format>amp</format>
|
||||||
|
</formats>
|
||||||
|
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
|
|
||||||
|
<files>
|
||||||
|
<!-- Filter module.properties and put at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||||
|
<filtered>true</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/assembly/file-mapping.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
|
||||||
|
<fileSets>
|
||||||
|
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||||
|
<fileSet>
|
||||||
|
<directory>src/main/assembly/web</directory>
|
||||||
|
<outputDirectory>web</outputDirectory>
|
||||||
|
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||||
|
<excludes>
|
||||||
|
<exclude>README.md</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
|
||||||
|
<!-- Include the project artifact (JAR) in the /lib directory in the AMP, and any 3rd party libraries (JARs)
|
||||||
|
used by the customization.
|
||||||
|
-->
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib</outputDirectory>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
|
||||||
|
</assembly>
|
@@ -1,14 +1,27 @@
|
|||||||
# Custom AMP to WAR location mappings
|
# Custom AMP to WAR location mappings
|
||||||
|
|
||||||
#
|
#
|
||||||
# The following property can be used to include the standard set of mappings.
|
# The following property can be used to include the standard set of mappings.
|
||||||
# The contents of this file will override any defaults. The default is
|
# The contents of this file will override any defaults. The default is
|
||||||
# 'true', i.e. the default mappings will be augmented or modified by values in
|
# 'true', i.e. the default mappings will be augmented or modified by values in
|
||||||
# this file.
|
# this file.
|
||||||
#
|
#
|
||||||
include.default=true
|
# Default mappings are:
|
||||||
|
#
|
||||||
#
|
# /config=/WEB-INF/classes
|
||||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
# /lib=/WEB-INF/lib
|
||||||
#
|
# /licenses=/WEB-INF/licenses
|
||||||
/web=/
|
# /web/jsp=/jsp
|
||||||
|
# /web/css=/css
|
||||||
|
# /web/images=/images
|
||||||
|
# /web/scripts=/scripts
|
||||||
|
# /web/php=/php
|
||||||
|
#
|
||||||
|
include.default=true
|
||||||
|
|
||||||
|
#
|
||||||
|
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||||
|
# Map /web to / in AMP so we can override things like favicon.ico
|
||||||
|
#
|
||||||
|
/web=/
|
||||||
|
|
@@ -0,0 +1,22 @@
|
|||||||
|
# Web resources that should override out-of-the-box files
|
||||||
|
|
||||||
|
Put here any web resources that should override out-of-the-box
|
||||||
|
web resources, such as favicon.ico. They will then end up in the
|
||||||
|
*/web* directory in the AMP, and applied to the WAR, and override
|
||||||
|
any existing web resources in the Alfresco.WAR.
|
||||||
|
|
||||||
|
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||||
|
|
||||||
|
`
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-platform</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
`
|
||||||
|
|
||||||
|
**Important**. New web resources should not be located here, but instead
|
||||||
|
in the usual place in the *src/main/resources/META-INF/resources* directory.
|
||||||
|
|
||||||
|
|
@@ -0,0 +1,35 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class does nothing except dump some output to <i>system.out</i>.
|
||||||
|
* This is a sample taken from Maven Alfresco SDK
|
||||||
|
*
|
||||||
|
* @author Derek Hulley
|
||||||
|
*/
|
||||||
|
public class Demo
|
||||||
|
{
|
||||||
|
public void init()
|
||||||
|
{
|
||||||
|
System.out.println("Platform JAR Module class has been loaded");
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,84 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.alfresco.repo.module.AbstractModuleComponent;
|
||||||
|
import org.alfresco.repo.nodelocator.NodeLocatorService;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
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
|
||||||
|
* NodeService to display them
|
||||||
|
*
|
||||||
|
* @author Gabriele Columbro
|
||||||
|
* @author Maurizio Pillitu
|
||||||
|
*/
|
||||||
|
public class DemoComponent extends AbstractModuleComponent {
|
||||||
|
private static Log logger = 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
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected void executeInternal() throws Throwable {
|
||||||
|
System.out.println("DemoComponent has been executed");
|
||||||
|
logger.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||||
|
logger.info("This is only for information purposes. 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
|
||||||
|
* under a certain node.
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int childNodesCount(NodeRef nodeRef) {
|
||||||
|
return nodeService.countChildAssocs(nodeRef, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the NodeRef of "Company Home"
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public NodeRef getCompanyHome()
|
||||||
|
|
||||||
|
{
|
||||||
|
return nodeLocatorService.getNode("companyhome", null, null);
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,51 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.springframework.extensions.webscripts.Cache;
|
||||||
|
import org.springframework.extensions.webscripts.DeclarativeWebScript;
|
||||||
|
import org.springframework.extensions.webscripts.Status;
|
||||||
|
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A demonstration Java controller for the Hello World Web Script.
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @since 2.1.0
|
||||||
|
*/
|
||||||
|
public class HelloWorldWebScript extends DeclarativeWebScript {
|
||||||
|
private static Log logger = LogFactory.getLog(HelloWorldWebScript.class);
|
||||||
|
|
||||||
|
protected Map<String, Object> executeImpl(
|
||||||
|
WebScriptRequest req, Status status, Cache cache) {
|
||||||
|
Map<String, Object> model = new HashMap<String, Object>();
|
||||||
|
model.put("fromJava", "HelloFromJava");
|
||||||
|
|
||||||
|
logger.debug("Your 'Hello World' Web Script was called!");
|
||||||
|
|
||||||
|
return model;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1 @@
|
|||||||
|
Test 123
|
@@ -1,7 +1,8 @@
|
|||||||
<webscript>
|
<webscript>
|
||||||
<shortname>Javascript Sample Webscript</shortname>
|
<shortname>Hello World Sample Webscript</shortname>
|
||||||
<description>Hands back a greeting</description>
|
<description>Hands back a greeting</description>
|
||||||
<url>/sample/helloworld</url>
|
<url>/sample/helloworld</url>
|
||||||
<authentication>user</authentication>
|
<authentication>user</authentication>
|
||||||
<format default="html"></format>
|
<format default="html"></format>
|
||||||
|
<lifecycle>sample</lifecycle>
|
||||||
</webscript>
|
</webscript>
|
@@ -0,0 +1 @@
|
|||||||
|
Message: '${fromJS}' '${fromJava}'
|
@@ -0,0 +1 @@
|
|||||||
|
model["fromJS"] = "Hello from JS!";
|
@@ -0,0 +1,5 @@
|
|||||||
|
## This Alfresco Platform Configuration file should be used for custom properties that are introduced by this module.
|
||||||
|
## Define default values for all properties here.
|
||||||
|
## System Administrators can override these values in environment specific configurations in
|
||||||
|
## alfresco/tomcat/shared/classes/alfresco-global.properties.
|
||||||
|
##
|
@@ -0,0 +1,45 @@
|
|||||||
|
#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-3.0.xsd">
|
||||||
|
|
||||||
|
<!-- The bootstrap-context.xml file is used for patch definitions, importers,
|
||||||
|
workflow, and loading custom content models. -->
|
||||||
|
|
||||||
|
<!-- Registration of new models -->
|
||||||
|
<bean id="${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>
|
||||||
|
<property name="labels">
|
||||||
|
<list>
|
||||||
|
<!-- Bootstrap Resource Bundles for the content model types, aspects, properties etc -->
|
||||||
|
<value>alfresco/module/${project.artifactId}/messages/content-model</value>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="${package}.sampleprocess.workflowBootstrap" parent="workflowDeployer">
|
||||||
|
<property name="workflowDefinitions">
|
||||||
|
<list>
|
||||||
|
<props>
|
||||||
|
<prop key="engineId">activiti</prop>
|
||||||
|
<prop key="location">alfresco/module/${project.artifactId}/workflow/sample-process.bpmn20.xml</prop>
|
||||||
|
<prop key="mimetype">text/xml</prop>
|
||||||
|
</props>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
|
<property name="labels">
|
||||||
|
<list>
|
||||||
|
<value>alfresco/module/${project.artifactId}/messages/workflow-messages</value>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
</beans>
|
@@ -0,0 +1,44 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
|
||||||
|
<!-- A simple class that is initialized by Spring -->
|
||||||
|
<bean id="${package}.Demo" class="${package}.platformsample.Demo" init-method="init" />
|
||||||
|
|
||||||
|
<!-- A simple module component that will be executed once.
|
||||||
|
Note. this module component will only be executed once, and then there will be an entry for it in the Repo DB.
|
||||||
|
So doing for example $ mvn clean install alfresco:run twice will only execute this component the first time.
|
||||||
|
You need to remove /alf_data_dev for it to be executed again. -->
|
||||||
|
<bean id="${package}.DemoComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
|
||||||
|
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
|
||||||
|
<property name="name" value="DemoComponent" />
|
||||||
|
<property name="description" value="A demonstration component" />
|
||||||
|
<property name="sinceVersion" value="1.0" />
|
||||||
|
<property name="appliesFromVersion" value="0.99" /> <!-- 1.0 would not work here when using SNAPSHOT version in project -->
|
||||||
|
<property name="nodeService" ref="NodeService" />
|
||||||
|
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
|
||||||
|
</beans>
|
@@ -1,25 +1,29 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
#set( $symbol_pound = '#' )
|
||||||
<!--
|
#set( $symbol_dollar = '$' )
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
#set( $symbol_escape = '\' )
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
this work for additional information regarding copyright ownership.
|
<!--
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
(the "License"); you may not use this file except in compliance with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
the License. You may obtain a copy of the License at
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
http://www.apache.org/licenses/LICENSE-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
|
||||||
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.
|
|
||||||
|
|
||||||
-->
|
|
||||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
|
||||||
|
|
||||||
<beans>
|
|
||||||
|
|
||||||
<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 xmlns="http://www.springframework.org/schema/beans"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
<bean id="webscript.alfresco.tutorials.helloworld.get"
|
||||||
|
class="${package}.platformsample.HelloWorldWebScript"
|
||||||
|
parent="webscript">
|
||||||
|
</bean>
|
||||||
</beans>
|
</beans>
|
@@ -0,0 +1 @@
|
|||||||
|
# Add here module-specific custom log4j2.properties configuration
|
@@ -0,0 +1,6 @@
|
|||||||
|
# This file should contain content model labels
|
||||||
|
|
||||||
|
acme_contentModel.type.acme_document.title=ACME Document
|
||||||
|
acme_contentModel.aspect.acme_securityClassified.title=ACME Security Classified
|
||||||
|
acme_contentModel.property.acme_documentId.title=Document Id
|
||||||
|
acme_contentModel.property.acme_securityClassification.title=Security Classification
|
@@ -0,0 +1,5 @@
|
|||||||
|
#
|
||||||
|
# Activiti My Process Workflow
|
||||||
|
#
|
||||||
|
my-process.workflow.title=My Process
|
||||||
|
my-process.workflow.description=This is my custom process
|
@@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<model name="acme:contentModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||||
|
|
||||||
|
<!-- Optional meta-data about the model -->
|
||||||
|
<description>Sample Document Model</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 the ACME company -->
|
||||||
|
<namespaces>
|
||||||
|
<namespace uri="http://www.acme.org/model/content/1.0" prefix="acme"/>
|
||||||
|
</namespaces>
|
||||||
|
|
||||||
|
<constraints>
|
||||||
|
<constraint name="acme:securityClassificationOptions" type="LIST">
|
||||||
|
<parameter name="allowedValues">
|
||||||
|
<list>
|
||||||
|
<value></value>
|
||||||
|
<!-- Empty for default search-->
|
||||||
|
<value>Public</value>
|
||||||
|
<value>Client Confidential</value>
|
||||||
|
<value>Company Confidential</value>
|
||||||
|
<value>Strictly Confidential</value>
|
||||||
|
</list>
|
||||||
|
</parameter>
|
||||||
|
</constraint>
|
||||||
|
</constraints>
|
||||||
|
|
||||||
|
<!-- ===============================================================================================================
|
||||||
|
Constraints, Types, and Aspects go here...
|
||||||
|
-->
|
||||||
|
|
||||||
|
<types>
|
||||||
|
<!--
|
||||||
|
ACME Enterprise-wide Document root type.
|
||||||
|
All other custom document types would extend this one.
|
||||||
|
-->
|
||||||
|
<type name="acme:document">
|
||||||
|
<title>Sample Document Type</title>
|
||||||
|
<parent>cm:content</parent>
|
||||||
|
<properties>
|
||||||
|
<property name="acme:documentId">
|
||||||
|
<title>Document Identification Number</title>
|
||||||
|
<type>d:text</type>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
<mandatory-aspects>
|
||||||
|
<aspect>acme:securityClassified</aspect>
|
||||||
|
</mandatory-aspects>
|
||||||
|
</type>
|
||||||
|
</types>
|
||||||
|
|
||||||
|
<aspects>
|
||||||
|
<!-- A document can have security classification applied and
|
||||||
|
faceted search is specifically enabled for best performance and we change
|
||||||
|
default index config to not tokenize the value. -->
|
||||||
|
<aspect name="acme:securityClassified">
|
||||||
|
<title>ACME Security Classified</title>
|
||||||
|
<description>Content has been security classified</description>
|
||||||
|
<properties>
|
||||||
|
<property name="acme:securityClassification">
|
||||||
|
<type>d:text</type>
|
||||||
|
<index enabled="true">
|
||||||
|
<atomic>true</atomic>
|
||||||
|
<stored>false</stored>
|
||||||
|
<tokenised>false</tokenised>
|
||||||
|
</index>
|
||||||
|
<constraints>
|
||||||
|
<constraint ref="acme:securityClassificationOptions"/>
|
||||||
|
</constraints>
|
||||||
|
</property>
|
||||||
|
</properties>
|
||||||
|
</aspect>
|
||||||
|
</aspects>
|
||||||
|
|
||||||
|
</model>
|
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<model name="acmew:workflowModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||||
|
<!-- Optional meta-data about the model -->
|
||||||
|
<description>Sample Workflow Model</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.acme.org/model/workflow/1.0" prefix="acmew"/>
|
||||||
|
</namespaces>
|
||||||
|
|
||||||
|
<!-- ===============================================================================================================
|
||||||
|
Constraints, Types, and Aspects go here...
|
||||||
|
-->
|
||||||
|
</model>
|
||||||
|
|
@@ -14,11 +14,19 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
-->
|
-->
|
||||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
|
||||||
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||||
<beans>
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
<!-- This is filtered by Maven at build time, so that module name is single sourced. -->
|
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/service-context.xml" />
|
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
|
||||||
|
|
||||||
</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>
|
@@ -24,7 +24,7 @@ module.id=${project.artifactId}
|
|||||||
#module.aliases=myModule-123, my-module
|
#module.aliases=myModule-123, my-module
|
||||||
module.title=${project.name}
|
module.title=${project.name}
|
||||||
module.description=${project.description}
|
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
|
# The following optional properties can be used to prevent the module from being added
|
||||||
# to inappropriate versions of the WAR file.
|
# to inappropriate versions of the WAR file.
|
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<definitions
|
||||||
|
xmlns:activiti="http://activiti.org/bpmn"
|
||||||
|
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" typeLanguage="http://www.w3.org/2001/XMLSchema"
|
||||||
|
expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">
|
||||||
|
|
||||||
|
<process id="my-process">
|
||||||
|
|
||||||
|
<startEvent id="start" activiti:formKey="wf:submitAdhocTask"/>
|
||||||
|
<sequenceFlow id="flow1" sourceRef="start" targetRef="someTask"/>
|
||||||
|
|
||||||
|
<userTask id="someTask" name="Activiti is awesome!" activiti:formKey="wf:adhocTask">
|
||||||
|
<humanPerformer>
|
||||||
|
<resourceAssignmentExpression>
|
||||||
|
<formalExpression>${bpm_assignee.properties.userName}</formalExpression>
|
||||||
|
</resourceAssignmentExpression>
|
||||||
|
</humanPerformer>
|
||||||
|
</userTask>
|
||||||
|
<sequenceFlow id="flow2" sourceRef="someTask" targetRef="end"/>
|
||||||
|
|
||||||
|
<endEvent id="end"/>
|
||||||
|
|
||||||
|
</process>
|
||||||
|
|
||||||
|
</definitions>
|
@@ -0,0 +1,56 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
|
/**
|
||||||
|
* Copyright (C) 2017 Alfresco Software Limited.
|
||||||
|
* <p/>
|
||||||
|
* This file is part of the Alfresco SDK project.
|
||||||
|
* <p/>
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
* <p/>
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
* <p/>
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package ${package}.platformsample;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.springframework.extensions.webscripts.*;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit testing the Web Script Java Controller
|
||||||
|
*
|
||||||
|
* @author martin.bergljung@alfresco.com
|
||||||
|
* @version 1.0
|
||||||
|
* @since 3.0
|
||||||
|
*/
|
||||||
|
public class HelloWorldWebScriptControllerTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testController() {
|
||||||
|
WebScriptRequest req = Mockito.mock(WebScriptRequest.class);
|
||||||
|
Status status = Mockito.mock(Status.class);
|
||||||
|
Cache cache = Mockito.mock(Cache.class);
|
||||||
|
|
||||||
|
String helloPropName = "fromJava";
|
||||||
|
String helloPropExpectedValue = "HelloFromJava";
|
||||||
|
HelloWorldWebScript ws = new HelloWorldWebScript();
|
||||||
|
Map<String, Object> model = ws.executeImpl(req, status, cache);
|
||||||
|
|
||||||
|
assertNotNull("Response from Web Script Java Controller is null", model);
|
||||||
|
assertEquals("Incorrect Web Script Java Controller Response",
|
||||||
|
helloPropExpectedValue, model.get(helloPropName));
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,73 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>${artifactId}</artifactId>
|
||||||
|
<name>Alfresco Share Docker Module</name>
|
||||||
|
<description>Share Docker Module to generate the final Docker image</description>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}-share</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<!-- Collect extensions (JARs or AMPs) declared in this module do be deployed to docker -->
|
||||||
|
<execution>
|
||||||
|
<id>collect-extensions</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/extensions</outputDirectory>
|
||||||
|
<includeScope>runtime</includeScope>
|
||||||
|
<!-- IMPORTANT: if using amp dependencies only, add <includeTypes>amp</includeTypes> -->
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- Filter the Dockerfile and the other files added to the container to be able to replace maven properties -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/docker</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
@@ -0,0 +1,16 @@
|
|||||||
|
FROM ${docker.share.image}:${alfresco.share.docker.version}
|
||||||
|
|
||||||
|
ARG TOMCAT_DIR=/usr/local/tomcat
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no JARs exist
|
||||||
|
COPY Dockerfile extensions/*.jar $TOMCAT_DIR/webapps/share/WEB-INF/lib/
|
||||||
|
|
||||||
|
# Copy Dockerfile to avoid an error if no AMPs exist
|
||||||
|
COPY Dockerfile extensions/*.amp $TOMCAT_DIR/amps_share/
|
||||||
|
RUN java -jar $TOMCAT_DIR/alfresco-mmt/alfresco-mmt*.jar install \
|
||||||
|
$TOMCAT_DIR/amps_share $TOMCAT_DIR/webapps/share -directory -nobackup -force
|
||||||
|
|
||||||
|
COPY share-config-custom.xml $TOMCAT_DIR/shared/classes/alfresco/web-extension
|
||||||
|
|
||||||
|
COPY log4j2.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
||||||
|
COPY hotswap-agent.properties $TOMCAT_DIR/webapps/share/WEB-INF/classes
|
@@ -0,0 +1,52 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
# Enable hotswap so that changes in this module will be automatically reloaded
|
||||||
|
# Watch for changed class files on watchResources path and reload class definition in the running application.
|
||||||
|
autoHotswap=true
|
||||||
|
#autoHotswap.port=8000
|
||||||
|
|
||||||
|
# Add a directory prior to application classpath (load classes and resources).
|
||||||
|
#
|
||||||
|
# This may be useful for example in multi module maven project to load class changes from upstream project
|
||||||
|
# classes. Set extraClasspath to upstream project compiler output and .class file will have precedence to
|
||||||
|
# classes from built JAR file.
|
||||||
|
# i.e. monitor /target/classes
|
||||||
|
# should work with extraClasspath=${project.build.outputDirectory}
|
||||||
|
# If not try
|
||||||
|
extraClasspath=/usr/local/tomcat/hotswap-agent
|
||||||
|
|
||||||
|
|
||||||
|
# Comma separated list of disabled plugins
|
||||||
|
# Use plugin name - e.g.
|
||||||
|
# Hotswapper, AnonymousClassPatch, WatchResources, Hibernate, Spring, Jersey2, Jetty, Tomcat,
|
||||||
|
# ZK, Logback, JSF, Seam, ELResolver, OsgiEquinox, Proxy, WebObjects, Weld, JBossModules, Resteasy, Gae
|
||||||
|
disabledPlugins=Hibernate,Spring
|
||||||
|
|
||||||
|
# Add a directory prior to webapp path (load webapp resources).
|
||||||
|
#
|
||||||
|
# Load web application resources (such as HTML, JSP, CSS, ...) from this directory prior to default processing.
|
||||||
|
# Use this setting to set to serve resources from source directory directly (e.g. src/main/webapp).
|
||||||
|
extraWebappContext=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-share/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Load static web resources from different directory.
|
||||||
|
#
|
||||||
|
# This setting is dependent on application server plugin(Jetty, Tomcat, JBoss, ...)
|
||||||
|
webappDir=/usr/local/tomcat/hotswap-agent/${rootArtifactId}-share/target/classes/META-INF/resources;
|
||||||
|
|
||||||
|
# Watch for changes in a directory (resources only).
|
||||||
|
#
|
||||||
|
# Similar to extraClasspath this property adds classpath when searching for resources (not classes).
|
||||||
|
# While extra classpath just modifies the classloader, this setting does nothing until the resource
|
||||||
|
# is really changed.
|
||||||
|
#
|
||||||
|
# Sometimes it is not possible to point extraClasspath to your i.e. src/main/resources, because there are multiple
|
||||||
|
# replacements of resources in a building step (maven filtering resource option).
|
||||||
|
# This setting will leave i.e. src/target/classes as default source for resources, but after the resource is modified
|
||||||
|
# in src/main/resources, the new changed resource is served instead.
|
||||||
|
# watchResources=
|
||||||
|
|
||||||
|
LOGGER.org.hotswap.agent=DEBUG
|
||||||
|
#LOGGER.org.hotswap.agent.plugin=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.watch=TRACE
|
||||||
|
#LOGGER.org.hotswap.agent.command=TRACE
|
@@ -0,0 +1,89 @@
|
|||||||
|
#set( $symbol_pound = '#' )
|
||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
#set( $symbol_escape = '\' )
|
||||||
|
# Set root logger level to error
|
||||||
|
#log4j.rootLogger=error, Console, File
|
||||||
|
rootLogger.level=error
|
||||||
|
rootLogger.appenderRef.stdout.ref=ConsoleAppender
|
||||||
|
rootLogger.appenderRef.rolling.ref=RollingAppender
|
||||||
|
|
||||||
|
# Console appender definition #
|
||||||
|
|
||||||
|
# All outputs currently set to be a ConsoleAppender.
|
||||||
|
appender.console.type=Console
|
||||||
|
appender.console.name=ConsoleAppender
|
||||||
|
appender.console.layout.type=PatternLayout
|
||||||
|
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
|
||||||
|
# use log4j NDC to replace %x with tenant domain / username
|
||||||
|
appender.console.layout.pattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
|
||||||
|
# File appender definition #
|
||||||
|
appender.rolling.type=RollingFile
|
||||||
|
appender.rolling.name=RollingAppender
|
||||||
|
appender.rolling.fileName=alfresco.log
|
||||||
|
appender.rolling.filePattern=alfresco.log.%d{yyyy-MM-dd}
|
||||||
|
appender.rolling.layout.type=PatternLayout
|
||||||
|
appender.rolling.layout.pattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %replace{%m}{[\r\n]+}{}%n
|
||||||
|
appender.rolling.policies.type = Policies
|
||||||
|
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
|
||||||
|
appender.rolling.policies.time.interval = 1
|
||||||
|
|
||||||
|
# Spring
|
||||||
|
logger.springframework.name=org.springframework
|
||||||
|
logger.springframework.level=warn
|
||||||
|
|
||||||
|
# Turn off Spring remoting warnings that should really be info or debug.
|
||||||
|
logger.springframework-remoting-support.name=org.springframework.remoting.support
|
||||||
|
logger.springframework-remoting-support.level=error
|
||||||
|
|
||||||
|
logger.springframework-util.name=org.springframework.util
|
||||||
|
logger.springframework-util.level=error
|
||||||
|
|
||||||
|
# MyFaces
|
||||||
|
logger.apache-myfaces-util-DebugUtils.name=org.apache.myfaces.util.DebugUtils
|
||||||
|
logger.apache-myfaces-util-DebugUtils.level=info
|
||||||
|
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.name=org.apache.myfaces.el.VariableResolverImpl
|
||||||
|
logger.apache-myfaces-el-VariableResolverImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.name=org.apache.myfaces.application.jsp.JspViewHandlerImpl
|
||||||
|
logger.apache-myfaces-application-jsp-JspViewHandlerImpl.level=error
|
||||||
|
|
||||||
|
logger.apache-myfaces-taglib.name=org.apache.myfaces.taglib
|
||||||
|
logger.apache-myfaces-taglib.level=error
|
||||||
|
|
||||||
|
# Alfresco
|
||||||
|
logger.alfresco.name=org.alfresco
|
||||||
|
logger.alfresco.level=error
|
||||||
|
|
||||||
|
logger.alfresco-config.name=org.alfresco.config
|
||||||
|
logger.alfresco-config.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.name=org.alfresco.config.JndiObjectFactoryBean
|
||||||
|
logger.alfresco-config-JndiObjectFactoryBean.level=warn
|
||||||
|
|
||||||
|
logger.alfresco-web.name=org.alfresco.web
|
||||||
|
logger.alfresco-web.level=info
|
||||||
|
|
||||||
|
# Web Framework
|
||||||
|
logger.springframework-extensions-webscripts.name=org.springframework.extensions.webscripts
|
||||||
|
logger.springframework-extensions-webscripts.level=info
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.name=org.springframework.extensions.webscripts.ScriptLogger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptLogger.level=warn
|
||||||
|
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.name=org.springframework.extensions.webscripts.ScriptDebugger
|
||||||
|
logger.springframework-extensions-webscripts-ScriptDebugger.level=off
|
||||||
|
|
||||||
|
# Freemarker
|
||||||
|
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||||
|
logger.freemarker-runtime.name=freemarker.runtime
|
||||||
|
logger.freemarker-runtime.level=
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Custom Share module logging goes here...
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -0,0 +1,113 @@
|
|||||||
|
<alfresco-config>
|
||||||
|
|
||||||
|
<config evaluator="string-compare" condition="WebFramework">
|
||||||
|
<web-framework>
|
||||||
|
<autowire>
|
||||||
|
<!-- Changing this to 'development' currently breaks the Admin Console.
|
||||||
|
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
|
||||||
|
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
|
||||||
|
</autowire>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
|
||||||
|
|
||||||
|
If resource caching has been disabled then all the dependency caches will be cleared
|
||||||
|
before processing the Aikau jsonModel request...
|
||||||
|
(i.e. this.dojoDependencyHandler.clearCaches() )
|
||||||
|
|
||||||
|
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
|
||||||
|
-->
|
||||||
|
<disable-resource-caching>false</disable-resource-caching>
|
||||||
|
</web-framework>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Global config section -->
|
||||||
|
<config replace="true">
|
||||||
|
<flags>
|
||||||
|
<!--
|
||||||
|
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
|
||||||
|
-->
|
||||||
|
<client-debug>true</client-debug>
|
||||||
|
<!--
|
||||||
|
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
|
||||||
|
This flag automatically activates logging on page load.
|
||||||
|
-->
|
||||||
|
<client-debug-autologging>false</client-debug-autologging>
|
||||||
|
</flags>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Disable CSRF completely for now
|
||||||
|
It seems Share has issues on 4.x with the embedded tomcat and CSRFPolicy
|
||||||
|
-->
|
||||||
|
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||||
|
<filter/>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Change so it is picked up from property where the Alfresco Repo Webapp is running
|
||||||
|
(e.g. http://localhost:8080/alfresco)
|
||||||
|
-->
|
||||||
|
<config evaluator="string-compare" condition="Remote">
|
||||||
|
<remote>
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco-noauth</id>
|
||||||
|
<name>Alfresco - unauthenticated access</name>
|
||||||
|
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
|
||||||
|
<connector-id>alfresco</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
|
||||||
|
<identity>none</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco</id>
|
||||||
|
<name>Alfresco - user access</name>
|
||||||
|
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||||
|
<connector-id>alfresco</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco-feed</id>
|
||||||
|
<name>Alfresco Feed</name>
|
||||||
|
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||||
|
<connector-id>http</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/s</endpoint-url>
|
||||||
|
<basic-auth>true</basic-auth>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>activiti-admin</id>
|
||||||
|
<name>Activiti Admin UI - user access</name>
|
||||||
|
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||||
|
<connector-id>activiti-admin-connector</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/activiti-admin</endpoint-url>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
|
||||||
|
<endpoint>
|
||||||
|
<id>alfresco-api</id>
|
||||||
|
<parent-id>alfresco</parent-id>
|
||||||
|
<name>Alfresco Public API - user access</name>
|
||||||
|
<description>Access to Alfresco Repository Public API that require user authentication.
|
||||||
|
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
|
||||||
|
<connector-id>alfresco</connector-id>
|
||||||
|
<endpoint-url>http://${acs.host}:8080/alfresco/api</endpoint-url>
|
||||||
|
<identity>user</identity>
|
||||||
|
</endpoint>
|
||||||
|
</remote>
|
||||||
|
</config>
|
||||||
|
<config evaluator="string-compare" condition="Users" replace="true">
|
||||||
|
<users>
|
||||||
|
<username-min-length>2</username-min-length>
|
||||||
|
<password-min-length>3</password-min-length>
|
||||||
|
<show-authorization-status>false</show-authorization-status>
|
||||||
|
</users>
|
||||||
|
<enable-external-users-panel>false</enable-external-users-panel>
|
||||||
|
</config>
|
||||||
|
</alfresco-config>
|
||||||
|
|
@@ -0,0 +1,39 @@
|
|||||||
|
<?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 JAR Module</name>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
<description>Sample Share JAR Module (to be included in the share.war) - part of AIO - SDK 4.11.0</description>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>${groupId}</groupId>
|
||||||
|
<artifactId>${rootArtifactId}</artifactId>
|
||||||
|
<version>${version}</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
</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>
|
||||||
|
<classifier>classes</classifier>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
@@ -0,0 +1,66 @@
|
|||||||
|
<assembly
|
||||||
|
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Note that the Module dependency specified in the configuration section for the Alfresco Maven Plugin
|
||||||
|
needs to be set to amp if any 3rd party libs should be applied by MMT:
|
||||||
|
`
|
||||||
|
<shareModules>
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-share</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<id>build-amp-file</id>
|
||||||
|
|
||||||
|
<formats>
|
||||||
|
<format>amp</format>
|
||||||
|
</formats>
|
||||||
|
|
||||||
|
<includeBaseDirectory>false</includeBaseDirectory>
|
||||||
|
|
||||||
|
<files>
|
||||||
|
<!-- Filter module.properties and put at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||||
|
<filtered>true</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/assembly/file-mapping.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
<!-- Add module-specific log4j2.properties configuration at top level in the AMP -->
|
||||||
|
<file>
|
||||||
|
<source>src/main/resources/alfresco/module/${project.artifactId}/log4j2.properties</source>
|
||||||
|
<filtered>false</filtered>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
|
||||||
|
<fileSets>
|
||||||
|
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||||
|
<fileSet>
|
||||||
|
<directory>src/main/assembly/web</directory>
|
||||||
|
<outputDirectory>web</outputDirectory>
|
||||||
|
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||||
|
<excludes>
|
||||||
|
<exclude>README.md</exclude>
|
||||||
|
</excludes>
|
||||||
|
</fileSet>
|
||||||
|
</fileSets>
|
||||||
|
|
||||||
|
<!-- Include the project artifact (JAR) in the /lib directory in the AMP, and any 3rd party libraries (JARs)
|
||||||
|
used by the customization.
|
||||||
|
-->
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib</outputDirectory>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
|
||||||
|
</assembly>
|
@@ -1,14 +1,27 @@
|
|||||||
# Custom AMP to WAR location mappings
|
# Custom AMP to WAR location mappings
|
||||||
|
|
||||||
#
|
#
|
||||||
# The following property can be used to include the standard set of mappings.
|
# The following property can be used to include the standard set of mappings.
|
||||||
# The contents of this file will override any defaults. The default is
|
# The contents of this file will override any defaults. The default is
|
||||||
# 'true', i.e. the default mappings will be augmented or modified by values in
|
# 'true', i.e. the default mappings will be augmented or modified by values in
|
||||||
# this file.
|
# this file.
|
||||||
#
|
#
|
||||||
include.default=true
|
# Default mappings are:
|
||||||
|
#
|
||||||
#
|
# /config=/WEB-INF/classes
|
||||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
# /lib=/WEB-INF/lib
|
||||||
#
|
# /licenses=/WEB-INF/licenses
|
||||||
/web=/
|
# /web/jsp=/jsp
|
||||||
|
# /web/css=/css
|
||||||
|
# /web/images=/images
|
||||||
|
# /web/scripts=/scripts
|
||||||
|
# /web/php=/php
|
||||||
|
#
|
||||||
|
include.default=true
|
||||||
|
|
||||||
|
#
|
||||||
|
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||||
|
# Map /web to / in AMP so we can override things like favicon.ico
|
||||||
|
#
|
||||||
|
/web=/
|
||||||
|
|
@@ -0,0 +1,22 @@
|
|||||||
|
# Web resources that should override out-of-the-box files
|
||||||
|
|
||||||
|
Put here any web resources that should override out-of-the-box
|
||||||
|
web resources, such as favicon.ico. They will then end up in the
|
||||||
|
*/web* directory in the AMP, and applied to the WAR, and override
|
||||||
|
any existing web resources in the Share.WAR.
|
||||||
|
|
||||||
|
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||||
|
|
||||||
|
`
|
||||||
|
<moduleDependency>
|
||||||
|
<groupId>${project.groupId}</groupId>
|
||||||
|
<artifactId>some-share</artifactId>
|
||||||
|
<version>${project.version}</version>
|
||||||
|
<type>amp</type>
|
||||||
|
</moduleDependency>
|
||||||
|
`
|
||||||
|
|
||||||
|
**Important**. New web resources should not be located here, but instead
|
||||||
|
in the usual place in the *src/main/resources/META-INF/resources/<module-id>/* directory.
|
||||||
|
|
||||||
|
|
@@ -2,4 +2,5 @@
|
|||||||
border: 1px #000000 solid;
|
border: 1px #000000 solid;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
|
background-color: deepskyblue;
|
||||||
}
|
}
|
@@ -0,0 +1,3 @@
|
|||||||
|
hello-label=Hello from i18n
|
||||||
|
|
||||||
|
|
@@ -0,0 +1,420 @@
|
|||||||
|
<!-- Share configuration related to this particular Share module extension, such as:
|
||||||
|
- Doclib action config
|
||||||
|
- Form config
|
||||||
|
- Aspect and Type config
|
||||||
|
- Advanced Search
|
||||||
|
|
||||||
|
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 file:
|
||||||
|
alfresco/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
|
||||||
|
-->
|
||||||
|
<alfresco-config>
|
||||||
|
<!--================================================================================================================
|
||||||
|
Make custom types and aspects visible in "Change Type" and "Manage Aspects" actions.
|
||||||
|
This will also make them visible when creating rules.
|
||||||
|
(will be merged with out-of-the-box configured types and aspects)
|
||||||
|
=============================================================================================================-->
|
||||||
|
|
||||||
|
<config evaluator="string-compare" condition="DocumentLibrary">
|
||||||
|
<aspects>
|
||||||
|
<visible>
|
||||||
|
<aspect name="acme:securityClassified"/>
|
||||||
|
</visible>
|
||||||
|
<addable> <!-- defaults to visible config -->
|
||||||
|
</addable>
|
||||||
|
<removeable> <!-- defaults to visible config -->
|
||||||
|
</removeable>
|
||||||
|
</aspects>
|
||||||
|
<types>
|
||||||
|
<!-- Define the ACME base doc type as decedent from cm:content -->
|
||||||
|
<type name="cm:content">
|
||||||
|
<subtype name="acme:document"/>
|
||||||
|
</type>
|
||||||
|
</types>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
<!--================================================================================================================
|
||||||
|
Advanced Search Forms for types
|
||||||
|
(search forms for aspects are not available)
|
||||||
|
=============================================================================================================-->
|
||||||
|
|
||||||
|
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
|
||||||
|
<advanced-search>
|
||||||
|
<forms>
|
||||||
|
<!-- Standard out-of-the-box types -->
|
||||||
|
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content
|
||||||
|
</form>
|
||||||
|
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
|
||||||
|
|
||||||
|
<!-- Custom type -->
|
||||||
|
<form labelId="form.label.advancedsearch.acmeDocument"
|
||||||
|
descriptionId="form.description.advancedsearch.acmeDocument">acme:document
|
||||||
|
</form>
|
||||||
|
</forms>
|
||||||
|
</advanced-search>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
<!--================================================================================================================
|
||||||
|
View, Edit, Create, and Search forms for custom types
|
||||||
|
|
||||||
|
The following form configurations for the custom types
|
||||||
|
have not been created from scratch. We have instead copied
|
||||||
|
out-of-the-box form configurations for cm:content and cm:folder
|
||||||
|
from the tomcat/webapps/share/WEB-INF/classes/alfresco/share-form-config.xml file
|
||||||
|
in a standard Alfresco installation (with the version matching)
|
||||||
|
and used them as a starting point.
|
||||||
|
|
||||||
|
=============================================================================================================-->
|
||||||
|
|
||||||
|
<!-- __________________________________ acme:document base type _________________________________________________-->
|
||||||
|
|
||||||
|
<!-- View and Edit forms for acme:document -->
|
||||||
|
<config evaluator="node-type" condition="acme:document">
|
||||||
|
<forms>
|
||||||
|
<!-- Default form configuration for the cm:content type -->
|
||||||
|
<form>
|
||||||
|
<field-visibility>
|
||||||
|
<show id="cm:name"/>
|
||||||
|
<show id="cm:title" force="true"/>
|
||||||
|
<show id="cm:description" force="true"/>
|
||||||
|
<show id="mimetype"/>
|
||||||
|
<show id="cm:author" force="true"/>
|
||||||
|
<show id="size" for-mode="view"/>
|
||||||
|
<show id="cm:creator" for-mode="view"/>
|
||||||
|
<show id="cm:created" for-mode="view"/>
|
||||||
|
<show id="cm:modifier" for-mode="view"/>
|
||||||
|
<show id="cm:modified" for-mode="view"/>
|
||||||
|
|
||||||
|
<!-- tags and categories -->
|
||||||
|
<show id="cm:taggable" for-mode="edit" force="true"/>
|
||||||
|
<show id="cm:categories"/>
|
||||||
|
|
||||||
|
<!-- cm:dublincore aspect -->
|
||||||
|
<show id="cm:publisher"/>
|
||||||
|
<show id="cm:contributor"/>
|
||||||
|
<show id="cm:type"/>
|
||||||
|
<show id="cm:identifier"/>
|
||||||
|
<show id="cm:dcsource"/>
|
||||||
|
<show id="cm:coverage"/>
|
||||||
|
<show id="cm:rights"/>
|
||||||
|
<show id="cm:subject"/>
|
||||||
|
|
||||||
|
<!-- cm:complianceable aspect -->
|
||||||
|
<show id="cm:removeAfter"/>
|
||||||
|
|
||||||
|
<!-- cm:effectivity aspect -->
|
||||||
|
<show id="cm:from"/>
|
||||||
|
<show id="cm:to"/>
|
||||||
|
|
||||||
|
<!-- cm:summarizable aspect -->
|
||||||
|
<show id="cm:summary"/>
|
||||||
|
|
||||||
|
<!-- cm:translatable aspect -->
|
||||||
|
<show id="cm:translations"/>
|
||||||
|
|
||||||
|
<!-- cm:localizable aspect -->
|
||||||
|
<show id="cm:locale"/>
|
||||||
|
|
||||||
|
<!-- cm:ownable aspect -->
|
||||||
|
<show id="cm:owner"/>
|
||||||
|
|
||||||
|
<!-- cm:attachable aspect -->
|
||||||
|
<show id="cm:attachments"/>
|
||||||
|
|
||||||
|
<!-- cm:emailed aspect -->
|
||||||
|
<show id="cm:originator"/>
|
||||||
|
<show id="cm:addressee"/>
|
||||||
|
<show id="cm:addressees"/>
|
||||||
|
<show id="cm:sentdate"/>
|
||||||
|
<show id="cm:subjectline"/>
|
||||||
|
|
||||||
|
<!-- exif:exif aspect -->
|
||||||
|
<show id="exif:dateTimeOriginal"/>
|
||||||
|
<show id="exif:pixelXDimension"/>
|
||||||
|
<show id="exif:pixelYDimension"/>
|
||||||
|
<show id="exif:exposureTime"/>
|
||||||
|
<show id="exif:fNumber"/>
|
||||||
|
<show id="exif:flash"/>
|
||||||
|
<show id="exif:focalLength"/>
|
||||||
|
<show id="exif:isoSpeedRatings"/>
|
||||||
|
<show id="exif:manufacturer"/>
|
||||||
|
<show id="exif:model"/>
|
||||||
|
<show id="exif:software"/>
|
||||||
|
<show id="exif:orientation"/>
|
||||||
|
<show id="exif:xResolution"/>
|
||||||
|
<show id="exif:yResolution"/>
|
||||||
|
<show id="exif:resolutionUnit"/>
|
||||||
|
|
||||||
|
<!-- audio:audio aspect -->
|
||||||
|
<show id="audio:album"/>
|
||||||
|
<show id="audio:artist"/>
|
||||||
|
<show id="audio:composer"/>
|
||||||
|
<show id="audio:engineer"/>
|
||||||
|
<show id="audio:genre"/>
|
||||||
|
<show id="audio:trackNumber"/>
|
||||||
|
<show id="audio:releaseDate"/>
|
||||||
|
<show id="audio:sampleRate"/>
|
||||||
|
<show id="audio:sampleType"/>
|
||||||
|
<show id="audio:channelType"/>
|
||||||
|
<show id="audio:compressor"/>
|
||||||
|
|
||||||
|
<!-- cm:indexControl aspect -->
|
||||||
|
<show id="cm:isIndexed"/>
|
||||||
|
<show id="cm:isContentIndexed"/>
|
||||||
|
|
||||||
|
<!-- cm:geographic aspect -->
|
||||||
|
<show id="cm:latitude"/>
|
||||||
|
<show id="cm:longitude"/>
|
||||||
|
|
||||||
|
<!-- surf:widget aspect -->
|
||||||
|
<show id="surf:widgetType"/>
|
||||||
|
<show id="surf:mid"/>
|
||||||
|
<show id="surf:label"/>
|
||||||
|
|
||||||
|
<!-- ACME custom props -->
|
||||||
|
<show id="acme:documentId" force="true"/>
|
||||||
|
<show id="acme:securityClassification"/>
|
||||||
|
</field-visibility>
|
||||||
|
<appearance>
|
||||||
|
<field id="cm:name">
|
||||||
|
<control>
|
||||||
|
<control-param name="maxLength">255</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:title">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="cm:description">
|
||||||
|
<control>
|
||||||
|
<control-param name="activateLinks">true</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
|
||||||
|
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
|
||||||
|
|
||||||
|
<field set="cm:content2cols" id="mimetype">
|
||||||
|
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
|
||||||
|
</field>
|
||||||
|
|
||||||
|
<field set="cm:content2cols" id="size">
|
||||||
|
<control template="/org/alfresco/components/form/controls/size.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field set="cm:content2cols" id="cm:creator"/>
|
||||||
|
<field set="cm:content2cols" id="cm:created"/>
|
||||||
|
<field set="cm:content2cols" id="cm:modifier"/>
|
||||||
|
<field set="cm:content2cols" id="cm:modified"/>
|
||||||
|
|
||||||
|
<field id="cm:taggable">
|
||||||
|
<control>
|
||||||
|
<control-param name="compactMode">true</control-param>
|
||||||
|
<control-param name="params">aspect=cm:taggable</control-param>
|
||||||
|
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
|
||||||
|
<control-param name="createNewItemIcon">tag</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:categories">
|
||||||
|
<control>
|
||||||
|
<control-param name="compactMode">true</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:originator" read-only="true"/>
|
||||||
|
<field id="cm:addressee" read-only="true"/>
|
||||||
|
<field id="cm:addressees" read-only="true"/>
|
||||||
|
<field id="cm:sentdate" read-only="true"/>
|
||||||
|
<field id="cm:subjectline" read-only="true"/>
|
||||||
|
|
||||||
|
<!-- ACME Props appearance -->
|
||||||
|
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||||
|
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||||
|
set="acmeDocSet"/>
|
||||||
|
</appearance>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<!-- Document Library pop-up Edit Metadata form -->
|
||||||
|
<form id="doclib-simple-metadata">
|
||||||
|
<field-visibility>
|
||||||
|
<show id="cm:name"/>
|
||||||
|
<show id="cm:title" force="true"/>
|
||||||
|
<show id="cm:description" force="true"/>
|
||||||
|
<!-- tags and categories -->
|
||||||
|
<show id="cm:taggable" for-mode="edit" force="true"/>
|
||||||
|
<show id="cm:categories"/>
|
||||||
|
|
||||||
|
<!-- ACME custom props -->
|
||||||
|
<show id="acme:documentId" force="true"/>
|
||||||
|
<show id="acme:securityClassification"/>
|
||||||
|
</field-visibility>
|
||||||
|
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
|
||||||
|
<appearance>
|
||||||
|
<field id="cm:name">
|
||||||
|
<control>
|
||||||
|
<control-param name="maxLength">255</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:title">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="cm:description">
|
||||||
|
<control>
|
||||||
|
<control-param name="activateLinks">true</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:taggable">
|
||||||
|
<control>
|
||||||
|
<control-param name="compactMode">true</control-param>
|
||||||
|
<control-param name="params">aspect=cm:taggable</control-param>
|
||||||
|
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
|
||||||
|
<control-param name="createNewItemIcon">tag</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:categories">
|
||||||
|
<control>
|
||||||
|
<control-param name="compactMode">true</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
|
||||||
|
<!-- ACME Props appearance -->
|
||||||
|
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||||
|
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||||
|
set="acmeDocSet"/>
|
||||||
|
</appearance>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<!-- Document Library Inline Edit form -->
|
||||||
|
<form id="doclib-inline-edit">
|
||||||
|
<field-visibility>
|
||||||
|
<show id="cm:name"/>
|
||||||
|
<show id="cm:content" force="true"/>
|
||||||
|
<show id="cm:title" force="true"/>
|
||||||
|
<show id="cm:description" force="true"/>
|
||||||
|
|
||||||
|
<!-- ACME custom props -->
|
||||||
|
<show id="acme:documentId" force="true"/>
|
||||||
|
<show id="acme:securityClassification"/>
|
||||||
|
</field-visibility>
|
||||||
|
<appearance>
|
||||||
|
<field id="cm:name">
|
||||||
|
<control>
|
||||||
|
<control-param name="maxLength">255</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:title">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="cm:content" label-id="">
|
||||||
|
<control>
|
||||||
|
<control-param name="editorAppearance">explorer</control-param>
|
||||||
|
<control-param name="forceEditor">true</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
|
||||||
|
<!-- ACME Props appearance -->
|
||||||
|
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||||
|
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||||
|
set="acmeDocSet"/>
|
||||||
|
</appearance>
|
||||||
|
</form>
|
||||||
|
</forms>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
<!-- Create and search forms for acme:document -->
|
||||||
|
<config evaluator="model-type" condition="acme:document">
|
||||||
|
<forms>
|
||||||
|
<form>
|
||||||
|
<field-visibility>
|
||||||
|
<show id="cm:name"/>
|
||||||
|
<show id="cm:content" force="true"/>
|
||||||
|
<show id="cm:title" force="true"/>
|
||||||
|
<show id="cm:description" force="true"/>
|
||||||
|
<show id="mimetype"/>
|
||||||
|
<show id="app:editInline" force="true"/>
|
||||||
|
|
||||||
|
<!-- ACME custom props -->
|
||||||
|
<show id="acme:documentId" force="true"/>
|
||||||
|
<show id="acme:securityClassification"/>
|
||||||
|
</field-visibility>
|
||||||
|
<appearance>
|
||||||
|
<field id="cm:name">
|
||||||
|
<control>
|
||||||
|
<control-param name="maxLength">255</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:title">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="cm:content" label-id="">
|
||||||
|
<control>
|
||||||
|
<control-param name="editorAppearance">explorer</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="mimetype">
|
||||||
|
<control template="/org/alfresco/components/form/controls/hidden.ftl">
|
||||||
|
<control-param name="contextProperty">mimeType</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="app:editInline">
|
||||||
|
<control template="/org/alfresco/components/form/controls/hidden.ftl">
|
||||||
|
<control-param name="contextProperty">editInline</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
|
||||||
|
<!-- ACME Props appearance -->
|
||||||
|
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||||
|
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||||
|
set="acmeDocSet"/>
|
||||||
|
</appearance>
|
||||||
|
</form>
|
||||||
|
<!-- Search form -->
|
||||||
|
<form id="search">
|
||||||
|
<field-visibility>
|
||||||
|
<show id="cm:name"/>
|
||||||
|
<show id="cm:title" force="true"/>
|
||||||
|
<show id="cm:description" force="true"/>
|
||||||
|
<show id="mimetype"/>
|
||||||
|
<show id="cm:modified"/>
|
||||||
|
<show id="cm:modifier"/>
|
||||||
|
|
||||||
|
<!-- ACME custom props -->
|
||||||
|
<show id="acme:documentId" force="true"/>
|
||||||
|
<show id="acme:securityClassification"/>
|
||||||
|
</field-visibility>
|
||||||
|
<appearance>
|
||||||
|
<field id="mimetype">
|
||||||
|
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="cm:modifier">
|
||||||
|
<control>
|
||||||
|
<control-param name="forceEditable">true</control-param>
|
||||||
|
</control>
|
||||||
|
</field>
|
||||||
|
<field id="cm:modified">
|
||||||
|
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
|
||||||
|
</field>
|
||||||
|
|
||||||
|
<!-- ACME Props appearance -->
|
||||||
|
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||||
|
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||||
|
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||||
|
</field>
|
||||||
|
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||||
|
set="acmeDocSet"/>
|
||||||
|
</appearance>
|
||||||
|
</form>
|
||||||
|
</forms>
|
||||||
|
</config>
|
||||||
|
|
||||||
|
|
||||||
|
</alfresco-config>
|
@@ -0,0 +1 @@
|
|||||||
|
# Add here module-specific custom log4j2.properties configuration
|
@@ -24,7 +24,7 @@ module.id=${project.artifactId}
|
|||||||
#module.aliases=myModule-123, my-module
|
#module.aliases=myModule-123, my-module
|
||||||
module.title=${project.name}
|
module.title=${project.name}
|
||||||
module.description=${project.description}
|
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
|
# The following optional properties can be used to prevent the module from being added
|
||||||
# to inappropriate versions of the WAR file.
|
# to inappropriate versions of the WAR 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-3.0.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="${package}.${artifactId}.resources"
|
||||||
|
class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
|
||||||
|
<property name="resourceBundles">
|
||||||
|
<list>
|
||||||
|
<value>alfresco.web-extension.messages.${artifactId}</value>
|
||||||
|
</list>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
</beans>
|
@@ -0,0 +1,25 @@
|
|||||||
|
# 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
|
||||||
|
#
|
||||||
|
|
||||||
|
# Labels for custom types and aspects
|
||||||
|
# Used in "Manage Aspects" and "Change Type" dialogs
|
||||||
|
#
|
||||||
|
type.acme_document=ACME Document
|
||||||
|
aspect.acme_securityClassified=Security Classified
|
||||||
|
|
||||||
|
# View,Edit,Search,Create Form labels for types and aspects
|
||||||
|
#
|
||||||
|
form.set.label.acme.document= ACME Document Information
|
||||||
|
form.field.label.acme.documentId=ACME Document Id
|
||||||
|
form.field.label.acme.securityClassification=Security Classification
|
||||||
|
|
||||||
|
# Advanced Search Form labels (only for types)
|
||||||
|
#
|
||||||
|
form.label.advancedsearch.acmeDocument=ACME Documents
|
||||||
|
form.description.advancedsearch.acmeDocument=Search for any ACME Documents
|
||||||
|
|
@@ -1,7 +1,10 @@
|
|||||||
|
#set($symbol_pound='#')
|
||||||
|
#set($symbol_dollar='$')
|
||||||
|
#set($symbol_escape='\' )
|
||||||
<extension>
|
<extension>
|
||||||
<modules>
|
<modules>
|
||||||
<module>
|
<module>
|
||||||
<id>Example Aikau Widgets</id>
|
<id>${artifactId} - Example Aikau Widgets</id>
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
<auto-deploy>true</auto-deploy>
|
<auto-deploy>true</auto-deploy>
|
||||||
<configurations>
|
<configurations>
|
||||||
@@ -9,7 +12,7 @@
|
|||||||
<web-framework>
|
<web-framework>
|
||||||
<dojo-pages>
|
<dojo-pages>
|
||||||
<packages>
|
<packages>
|
||||||
<package name="example" location="js/example"/>
|
<package name="tutorials" location="resources/${artifactId}/js/tutorials"/>
|
||||||
</packages>
|
</packages>
|
||||||
</dojo-pages>
|
</dojo-pages>
|
||||||
</web-framework>
|
</web-framework>
|
@@ -0,0 +1,29 @@
|
|||||||
|
model.jsonModel = {
|
||||||
|
widgets: [{
|
||||||
|
id: "SET_PAGE_TITLE",
|
||||||
|
name: "alfresco/header/SetTitle",
|
||||||
|
config: {
|
||||||
|
title: "This is a sample HELLO 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: "tutorials/widgets/TemplateWidget"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
};
|
@@ -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}.
|
||||||
|
##
|
||||||
|
|
@@ -0,0 +1,77 @@
|
|||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
version: '3.4'
|
||||||
|
services:
|
||||||
|
${rootArtifactId}-share:
|
||||||
|
image: alfresco-share-${rootArtifactId}:development
|
||||||
|
build:
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
context: ../../../${rootArtifactId}-share-docker/target
|
||||||
|
environment:
|
||||||
|
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||||
|
REPO_HOST: ${rootArtifactId}-acs
|
||||||
|
REPO_PORT: 8080
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{share.port}:8080"
|
||||||
|
- "${symbol_dollar}{share.debug.port}:8888"
|
||||||
|
${rootArtifactId}-acs:
|
||||||
|
image: alfresco-content-services-${rootArtifactId}:development
|
||||||
|
build:
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
context: ../../../${rootArtifactId}-platform-docker/target
|
||||||
|
environment:
|
||||||
|
JAVA_TOOL_OPTIONS: "${symbol_dollar}{keystore.settings}"
|
||||||
|
JAVA_OPTS: "
|
||||||
|
-Dsolr.secureComms=secret
|
||||||
|
-Dsolr.sharedSecret=secret
|
||||||
|
-Dmessaging.broker.url=\"failover:(nio://${rootArtifactId}-activemq:61616)?timeout=3000&jms.useCompression=true\"
|
||||||
|
"
|
||||||
|
CATALINA_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8888"
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{acs.port}:8080"
|
||||||
|
- "${symbol_dollar}{acs.debug.port}:8888"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-acs-volume:/usr/local/tomcat/alf_data
|
||||||
|
depends_on:
|
||||||
|
- ${rootArtifactId}-postgres
|
||||||
|
${rootArtifactId}-postgres:
|
||||||
|
image: postgres:16.5
|
||||||
|
environment:
|
||||||
|
POSTGRES_DB: alfresco
|
||||||
|
POSTGRES_USER: alfresco
|
||||||
|
POSTGRES_PASSWORD: alfresco
|
||||||
|
command: postgres -c max_connections=300 -c log_min_messages=LOG
|
||||||
|
ports:
|
||||||
|
- "${symbol_dollar}{postgres.port}:5432"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-db-volume:/var/lib/postgresql/data
|
||||||
|
${rootArtifactId}-ass:
|
||||||
|
image: alfresco/alfresco-search-services:2.0.15
|
||||||
|
environment:
|
||||||
|
SOLR_ALFRESCO_HOST: ${rootArtifactId}-acs
|
||||||
|
SOLR_ALFRESCO_PORT: 8080
|
||||||
|
SOLR_SOLR_HOST: ${rootArtifactId}-ass
|
||||||
|
SOLR_SOLR_PORT: 8983
|
||||||
|
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
||||||
|
ALFRESCO_SECURE_COMMS: "secret"
|
||||||
|
JAVA_TOOL_OPTIONS: "-Dalfresco.secureComms.secret=secret"
|
||||||
|
ports:
|
||||||
|
- "8983:8983"
|
||||||
|
volumes:
|
||||||
|
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/contentstore
|
||||||
|
- ${rootArtifactId}-ass-volume:/opt/alfresco-search-services/data
|
||||||
|
${rootArtifactId}-activemq:
|
||||||
|
image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8
|
||||||
|
mem_limit: 1g
|
||||||
|
ports:
|
||||||
|
- 8161:8161 # Web Console
|
||||||
|
- 5672:5672 # AMQP
|
||||||
|
- 61616:61616 # OpenWire
|
||||||
|
- 61613:61613 # STOMP
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
${rootArtifactId}-acs-volume:
|
||||||
|
external: true
|
||||||
|
${rootArtifactId}-db-volume:
|
||||||
|
external: true
|
||||||
|
${rootArtifactId}-ass-volume:
|
||||||
|
external: true
|
@@ -1,81 +1,490 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>${groupId}</groupId>
|
<groupId>${groupId}</groupId>
|
||||||
<artifactId>${artifactId}</artifactId>
|
<artifactId>${artifactId}</artifactId>
|
||||||
<version>${version}</version>
|
<version>${version}</version>
|
||||||
<name>Alfresco Repository and Share Quickstart with database and an embedded runner.</name>
|
<name>AIO - SDK 4.13.0-A1</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>
|
<description>All-In-One (AIO) project for SDK 4.13.0-A1</description>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
|
<prerequisites>
|
||||||
|
<maven>3.3.0</maven>
|
||||||
|
</prerequisites>
|
||||||
|
|
||||||
<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.
|
|
||||||
-->
|
|
||||||
<properties>
|
<properties>
|
||||||
<!--
|
<!-- Alfresco Maven Plugin version to use -->
|
||||||
| Defines the groupId for the Alfresco Artifacts to work against. As of 4.2 the only allowed value is: org.alfresco
|
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||||
| NOTE: See http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html for details
|
|
||||||
-->
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<alfresco.groupId>${alfresco_target_groupId}</alfresco.groupId>
|
|
||||||
<!-- Defines the Alfresco version to work against.
|
<!-- Properties used in dependency declarations, you don't need to change these -->
|
||||||
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.groupId>org.alfresco</alfresco.groupId>
|
||||||
-->
|
<alfresco.bomDependencyArtifactId>@@alfresco.bomDependency.artifactId@@</alfresco.bomDependencyArtifactId>
|
||||||
<alfresco.version>${alfresco_target_version}</alfresco.version>
|
<alfresco.platform.version>@@alfresco.platform.version@@</alfresco.platform.version>
|
||||||
<!-- This control the root logging level for all apps -->
|
<alfresco.platform.docker.user>@@alfresco.platform.docker.user@@</alfresco.platform.docker.user>
|
||||||
<app.log.root.level>WARN</app.log.root.level>
|
<alfresco.share.version>@@alfresco.share.version@@</alfresco.share.version>
|
||||||
<!-- This controls the default data location for dir.root -->
|
<alfresco.share.docker.version>@@alfresco.share.docker.version@@</alfresco.share.docker.version>
|
||||||
<alfresco.data.location>alf_data_dev</alfresco.data.location>
|
|
||||||
<!-- This controls which properties will be picked in multi-enviromment build -->
|
<!-- Docker images -->
|
||||||
<env>local</env>
|
<docker.acs.image>@@alfresco.platform.docker.image@@</docker.acs.image>
|
||||||
|
<docker.share.image>@@alfresco.share.docker.image@@</docker.share.image>
|
||||||
|
|
||||||
|
<keystore.settings>@@keystore.settings@@</keystore.settings>
|
||||||
|
|
||||||
|
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||||
|
<jrebel.version>1.1.8</jrebel.version>
|
||||||
|
|
||||||
|
<!-- Environment configuration properties -->
|
||||||
|
<share.port>8180</share.port>
|
||||||
|
<share.debug.port>9898</share.debug.port>
|
||||||
|
<acs.host>${artifactId}-acs</acs.host>
|
||||||
|
<acs.port>8080</acs.port>
|
||||||
|
<acs.debug.port>8888</acs.debug.port>
|
||||||
|
<postgres.port>5555</postgres.port>
|
||||||
|
<!-- This parameter is only required for those cases in which ACS is not exposed in http://localhost:8080/alfresco (i.e. Windows Docker) -->
|
||||||
|
<test.acs.endpoint.path>@@test.acs.endpoint.path@@</test.acs.endpoint.path>
|
||||||
|
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<!-- Here we realize the connection with the Alfresco selected platform (e.g.version and edition) -->
|
<!-- Libs used in Unit and Integration tests -->
|
||||||
<dependencyManagement>
|
<!-- IMPORTANT - Test dependencies need to be here in the top parent POM as
|
||||||
<dependencies>
|
the Alfresco Maven IT Mojo runs as part of the parent project ... -->
|
||||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco plaftorm
|
<dependencies>
|
||||||
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
|
<dependency>
|
||||||
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement.
|
<groupId>junit</groupId>
|
||||||
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
|
<artifactId>junit</artifactId>
|
||||||
-->
|
<scope>test</scope>
|
||||||
<dependency>
|
</dependency>
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
<dependency>
|
||||||
<artifactId>alfresco-platform-distribution</artifactId>
|
<groupId>org.mockito</groupId>
|
||||||
<version>${alfresco.version}</version>
|
<artifactId>mockito-core</artifactId>
|
||||||
<type>pom</type>
|
<version>4.2.0</version>
|
||||||
<scope>import</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
<dependency>
|
||||||
</dependencyManagement>
|
<groupId>org.apache.httpcomponents</groupId>
|
||||||
|
<artifactId>httpclient</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- The main Alfresco Repo dependency for compiling Java code in src/main/java -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
|
<artifactId>alfresco-remote-api</artifactId>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Bring in Alfresco RAD so we get access to AlfrescoTestRunner classes -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.alfresco.maven</groupId>
|
||||||
|
<artifactId>alfresco-rad</artifactId>
|
||||||
|
<version>${alfresco.sdk.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
|
||||||
|
NOTE: You still need to define dependencies in your POM, but you can omit version as
|
||||||
|
it's enforced by this dependencyManagement.
|
||||||
|
NOTE: It defaults to the latest version this SDK pom has been tested with,
|
||||||
|
but alfresco version can/should be overridden in your project's pom
|
||||||
|
-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
|
<artifactId>${alfresco.bomDependencyArtifactId}</artifactId>
|
||||||
|
<version>${alfresco.platform.version}</version>
|
||||||
|
<type>pom</type>
|
||||||
|
<scope>import</scope>
|
||||||
|
</dependency>
|
||||||
|
<!-- Redefine the following Share dependencies as they have different version numbers than platform.
|
||||||
|
They are defined in alfresco-platform-distribution... -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
|
<artifactId>share</artifactId>
|
||||||
|
<version>${alfresco.share.version}</version>
|
||||||
|
<type>war</type>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
|
<artifactId>share</artifactId>
|
||||||
|
<version>${alfresco.share.version}</version>
|
||||||
|
<classifier>classes</classifier>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>${alfresco.groupId}</groupId>
|
||||||
|
<artifactId>alfresco-web-framework-commons</artifactId>
|
||||||
|
<version>${alfresco.share.version}</version>
|
||||||
|
<classifier>classes</classifier>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<pluginManagement>
|
||||||
|
<plugins>
|
||||||
|
<!--
|
||||||
|
Build an AMP if 3rd party libs are needed by the extensions
|
||||||
|
JARs are the default artifact produced in your modules, if you want to build an amp for each module
|
||||||
|
you have to enable this plugin and inspect the src/main/assembly.xml file if you want to customize
|
||||||
|
the layout of your AMP. The end result is that Maven will produce both a JAR file and an AMP with your
|
||||||
|
module.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>build-amp-file</id>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<appendAssemblyId>false</appendAssemblyId>
|
||||||
|
<descriptor>src/main/assembly/amp.xml</descriptor>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.alfresco.maven.plugin</groupId>
|
||||||
|
<artifactId>alfresco-maven-plugin</artifactId>
|
||||||
|
<version>${alfresco.sdk.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</plugin>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Filter resources in any sub-project with this config -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<configuration>
|
||||||
|
<encoding>UTF-8</encoding>
|
||||||
|
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||||
|
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||||
|
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||||
|
</nonFilteredFileExtensions>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.zeroturnaround</groupId>
|
||||||
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
|
<version>${jrebel.version}</version>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<version>3.0.0-M1</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>integration-test</id>
|
||||||
|
<phase>integration-test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>integration-test</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>verify-test</id>
|
||||||
|
<phase>verify</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>verify</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.maven.surefire</groupId>
|
||||||
|
<artifactId>surefire-junit47</artifactId>
|
||||||
|
<version>3.0.0-M1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<version>3.1.1</version>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</pluginManagement>
|
||||||
|
|
||||||
|
<!-- Make sure resources in sub-projects are filtered -->
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
|
||||||
|
We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<inherited>false</inherited>
|
||||||
|
<!-- Run only for the AIO parent Project -->
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-and-filter-docker-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.outputDirectory}/docker</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>docker</directory>
|
||||||
|
<filtering>true</filtering>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Compress JavaScript files and store as *.min.js -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>com.github.blutorange</groupId>
|
||||||
|
<artifactId>closure-compiler-maven-plugin</artifactId>
|
||||||
|
<version>2.28.0</version>
|
||||||
|
<executions>
|
||||||
|
<!-- Compress the JS files under the assembly folder -->
|
||||||
|
<execution>
|
||||||
|
<id>compress-assembly</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>minify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<baseSourceDir>${project.basedir}/src/main/assembly</baseSourceDir>
|
||||||
|
<baseTargetDir>${project.basedir}/src/main/assembly</baseTargetDir>
|
||||||
|
<sourceDir>web</sourceDir>
|
||||||
|
<targetDir>web</targetDir>
|
||||||
|
<skipMerge>true</skipMerge>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.js</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/webscripts/**</exclude>
|
||||||
|
<exclude>**/site-webscripts/**</exclude>
|
||||||
|
<exclude>**/META-INF/**</exclude>
|
||||||
|
<exclude>**/*.lib.js</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.min.js</exclude>
|
||||||
|
<exclude>**/*.min.css</exclude>
|
||||||
|
</excludes>
|
||||||
|
<force>true</force>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
<!-- Compress the JS files under the resources folder -->
|
||||||
|
<execution>
|
||||||
|
<id>compress-resources</id>
|
||||||
|
<phase>generate-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>minify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<baseSourceDir>${project.basedir}/src/main</baseSourceDir>
|
||||||
|
<baseTargetDir>${project.basedir}/src/main</baseTargetDir>
|
||||||
|
<sourceDir>resources</sourceDir>
|
||||||
|
<targetDir>resources</targetDir>
|
||||||
|
<skipMerge>true</skipMerge>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.js</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>**/webscripts/**</exclude>
|
||||||
|
<exclude>**/site-webscripts/**</exclude>
|
||||||
|
<exclude>**/*.lib.js</exclude>
|
||||||
|
<exclude>**/*.css</exclude>
|
||||||
|
<exclude>**/*.min.js</exclude>
|
||||||
|
<exclude>**/*.min.css</exclude>
|
||||||
|
</excludes>
|
||||||
|
<force>true</force>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Hot reloading with JRebel -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.zeroturnaround</groupId>
|
||||||
|
<artifactId>jrebel-maven-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>generate-rebel-xml</id>
|
||||||
|
<phase>process-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>generate</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<configuration>
|
||||||
|
<!-- For more information about how to configure JRebel plugin see:
|
||||||
|
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
|
||||||
|
<classpath>
|
||||||
|
<fallback>all</fallback>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>${project.build.outputDirectory}</directory>
|
||||||
|
<directory>${project.build.testOutputDirectory}</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</classpath>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
alwaysGenerate - default is false
|
||||||
|
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
|
||||||
|
If 'true' - rebel.xml will always be generated
|
||||||
|
-->
|
||||||
|
<alwaysGenerate>true</alwaysGenerate>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</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>
|
<profiles>
|
||||||
<profile>
|
<profile>
|
||||||
<id>run</id>
|
<id>java8</id>
|
||||||
<properties>
|
<activation>
|
||||||
<!-- While running in rapid dev mode with -Prun, we don't want amp web resources
|
<jdk>[1.8,11.0)</jdk>
|
||||||
to be added to the war, so we can load them directly from the AMP project (see
|
</activation>
|
||||||
runner/tomcat/context-*.xml for more details) -->
|
<build>
|
||||||
<maven.alfresco.includeWebResources>false</maven.alfresco.includeWebResources>
|
<plugins>
|
||||||
</properties>
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
<!-- RM profile, manually activated, automatically adds support for RM development (dependencies) and install the RM amps in the WARs -->
|
|
||||||
<profile>
|
<profile>
|
||||||
<id>rm</id>
|
<id>java11</id>
|
||||||
<properties>
|
<activation>
|
||||||
<alfresco.rm.version>2.3.a.1</alfresco.rm.version>
|
<jdk>[11.0,17)</jdk>
|
||||||
<app.rm.amps.location>${project.build.directory}/rm-amps</app.rm.amps.location>
|
</activation>
|
||||||
<app.rm.war.location>${project.build.directory}/${project.build.finalName}.war</app.rm.war.location>
|
<build>
|
||||||
<app.rm.artifact>org.alfresco:${alfresco.rm.artifactId}:${alfresco.rm.version}:amp</app.rm.artifact>
|
<plugins>
|
||||||
</properties>
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>11</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>java17</id>
|
||||||
|
<activation>
|
||||||
|
<jdk>[17,)</jdk>
|
||||||
|
</activation>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.8.0</version>
|
||||||
|
<configuration>
|
||||||
|
<release>17</release>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
</project>
|
|
||||||
|
<!--
|
||||||
|
Alfresco Maven Repositories
|
||||||
|
-->
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-public</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-public-snapshots</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<updatePolicy>daily</updatePolicy>
|
||||||
|
</snapshots>
|
||||||
|
</repository>
|
||||||
|
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-private-repository</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||||
|
</repository>
|
||||||
|
<repository>
|
||||||
|
<id>alfresco-internal</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/internal</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<pluginRepositories>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>alfresco-plugin-public</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||||
|
</pluginRepository>
|
||||||
|
<pluginRepository>
|
||||||
|
<id>alfresco-plugin-public-snapshots</id>
|
||||||
|
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||||
|
<snapshots>
|
||||||
|
<enabled>true</enabled>
|
||||||
|
<updatePolicy>daily</updatePolicy>
|
||||||
|
</snapshots>
|
||||||
|
</pluginRepository>
|
||||||
|
</pluginRepositories>
|
||||||
|
</project>
|
@@ -1,48 +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>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
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>
|
|
||||||
|
|
||||||
<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>
|
|
||||||
<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>
|
|
@@ -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
|
|
@@ -1 +0,0 @@
|
|||||||
Message: ${message}
|
|
@@ -1 +0,0 @@
|
|||||||
model["message"] = "Hello World!";
|
|
@@ -1,34 +0,0 @@
|
|||||||
<?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="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>
|
|
@@ -1,16 +0,0 @@
|
|||||||
/*
|
|
||||||
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.
|
|
||||||
*/
|
|
@@ -1,17 +0,0 @@
|
|||||||
<!--
|
|
||||||
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.
|
|
||||||
-->
|
|
||||||
Test jsp. Change me!
|
|
@@ -1,2 +0,0 @@
|
|||||||
This folder (root in the AMP) gets mapped automagically in WEB-INF/licenses
|
|
||||||
in the war build
|
|
@@ -1,15 +0,0 @@
|
|||||||
package org.alfresco.demoamp;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This class does nothing except dump some output to <i>system.out</i>.
|
|
||||||
* This is a sample taken from Maven Alfresco SDK
|
|
||||||
*
|
|
||||||
* @author Derek Hulley
|
|
||||||
*/
|
|
||||||
public class Demo
|
|
||||||
{
|
|
||||||
public void init()
|
|
||||||
{
|
|
||||||
System.out.println("SDK Demo AMP class has been loaded");
|
|
||||||
}
|
|
||||||
}
|
|
@@ -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");
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,57 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# 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.
|
|
||||||
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
|
|
||||||
|
|
||||||
# Fail or not when there are node integrity checker errors
|
|
||||||
integrity.failOnError=true
|
|
||||||
|
|
||||||
# Database connection properties
|
|
||||||
db.driver=${alfresco.db.datasource.class}
|
|
||||||
db.url=${alfresco.db.url}
|
|
||||||
db.username=${alfresco.db.username}
|
|
||||||
db.password=${alfresco.db.password}
|
|
||||||
db.pool.initial=10
|
|
||||||
db.pool.max=100
|
|
||||||
|
|
||||||
# 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
|
|
@@ -1,23 +0,0 @@
|
|||||||
# Overrides only log4j locations and add the test logging properties
|
|
||||||
# This gets merged with the main file
|
|
||||||
|
|
||||||
# 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
|
|
@@ -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 "true TRUE, false FALSE"."/>
|
|
||||||
<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>
|
|
@@ -1,199 +0,0 @@
|
|||||||
<?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. -->
|
|
||||||
|
|
||||||
<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 WAR Aggregator</name>
|
|
||||||
<packaging>war</packaging>
|
|
||||||
<description>Alfresco Repository aggregator, installs your repository AMPs in the Alfresco WAR for aggregation and easy deployment purposes</description>
|
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>${groupId}</groupId>
|
|
||||||
<artifactId>${rootArtifactId}</artifactId>
|
|
||||||
<version>${version}</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>alfresco</artifactId>
|
|
||||||
<type>war</type>
|
|
||||||
</dependency>
|
|
||||||
<!-- Demonstrating the dependency / installation of the repo AMP developed in the 'repo-amp' module -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>${project.groupId}</groupId>
|
|
||||||
<artifactId>repo-amp</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<type>amp</type>
|
|
||||||
</dependency>
|
|
||||||
<!-- Demonstrating the usage of a well known GA AMP (SharePoint Protocol Support) -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>alfresco-spp</artifactId>
|
|
||||||
<version>${alfresco.version}</version>
|
|
||||||
<type>amp</type>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-war-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<!-- 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
|
|
||||||
| explicitly mention it in the overlay section.
|
|
||||||
| NOTE: First-win resource strategy is used by the WAR plugin
|
|
||||||
-->
|
|
||||||
<overlays>
|
|
||||||
<!-- Current project customizations. This is normally empty, since customizations come from the AMPs -->
|
|
||||||
<overlay/>
|
|
||||||
<!-- The Alfresco WAR -->
|
|
||||||
<overlay>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>alfresco</artifactId>
|
|
||||||
<type>war</type>
|
|
||||||
<!-- To allow inclusion of META-INF -->
|
|
||||||
<excludes/>
|
|
||||||
</overlay>
|
|
||||||
<!-- Add / sort your AMPs here -->
|
|
||||||
<overlay>
|
|
||||||
<groupId>${project.groupId}</groupId>
|
|
||||||
<artifactId>repo-amp</artifactId>
|
|
||||||
<type>amp</type>
|
|
||||||
</overlay>
|
|
||||||
<overlay>
|
|
||||||
<groupId>${alfresco.groupId}</groupId>
|
|
||||||
<artifactId>alfresco-spp</artifactId>
|
|
||||||
<type>amp</type>
|
|
||||||
</overlay>
|
|
||||||
</overlays>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
<profiles>
|
|
||||||
<!-- Overrides the run profile to disable securecomms and add rapid development configuration -->
|
|
||||||
<profile>
|
|
||||||
<id>run</id>
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<artifactId>maven-war-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>prepare-exploded-war</id>
|
|
||||||
<goals>
|
|
||||||
<goal>exploded</goal>
|
|
||||||
</goals>
|
|
||||||
<phase>prepare-package</phase>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>default-war</id>
|
|
||||||
<configuration>
|
|
||||||
<webXml>${project.build.directory}/${project.build.finalName}-nossl/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>
|
|
||||||
<ignoreErrors>true</ignoreErrors>
|
|
||||||
<file>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</file>
|
|
||||||
<outputDir>${project.build.directory}/${project.build.finalName}-nossl/WEB-INF/</outputDir>
|
|
||||||
<preserveDir>false</preserveDir>
|
|
||||||
<replacements>
|
|
||||||
<replacement>
|
|
||||||
<token><![CDATA[<!-- Toggle securecomms placeholder start -->]]></token>
|
|
||||||
<value><![CDATA[<!--]]></value>
|
|
||||||
</replacement>
|
|
||||||
<replacement>
|
|
||||||
<token><![CDATA[<!-- Toggle securecomms placeholder end -->]]></token>
|
|
||||||
<value><![CDATA[-->]]></value>
|
|
||||||
</replacement>
|
|
||||||
</replacements>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
<!-- Needed to fix http://code.google.com/p/maven-alfresco-archetypes/issues/detail?id=150 -->
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>jcl-over-slf4j</artifactId>
|
|
||||||
<version>1.5.11</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</profile>
|
|
||||||
<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>
|
|
||||||
</profile>
|
|
||||||
</profiles>
|
|
||||||
</project>
|
|
@@ -1,301 +0,0 @@
|
|||||||
# 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.
|
|
||||||
# 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 #
|
|
||||||
###############################
|
|
||||||
|
|
||||||
|
|
||||||
dir.root=${alfresco.data.location}
|
|
||||||
# Allowed values are: NONE, AUTO, FULL
|
|
||||||
index.recovery.mode=FULL
|
|
||||||
|
|
||||||
index.subsystem.name=solr
|
|
||||||
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
|
|
||||||
solr.backup.archive.cronExpression=0 30 3 * * ? 2050
|
|
||||||
solr.backup.alfresco.remoteBackupLocation=${dir.root}/solrBackup/alfresco
|
|
||||||
solr.backup.archive.remoteBackupLocation=${dir.root}/solrBackup/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
|
|
||||||
# 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
|
|
||||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
|
||||||
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)
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# File servers related properties
|
|
||||||
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
|
|
||||||
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
|
|
||||||
|
|
@@ -1,2 +0,0 @@
|
|||||||
# 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
|
|
@@ -0,0 +1,128 @@
|
|||||||
|
#set( $symbol_dollar = '$' )
|
||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
SET COMPOSE_FILE_PATH=%CD%\target\classes\docker\docker-compose.yml
|
||||||
|
|
||||||
|
IF [%M2_HOME%]==[] (
|
||||||
|
SET MVN_EXEC=mvn
|
||||||
|
)
|
||||||
|
|
||||||
|
IF NOT [%M2_HOME%]==[] (
|
||||||
|
SET MVN_EXEC=%M2_HOME%\bin\mvn
|
||||||
|
)
|
||||||
|
|
||||||
|
IF [%1]==[] (
|
||||||
|
echo "Usage: %0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
|
||||||
|
IF %1==build_start (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==build_start_it_supported (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :prepare-test
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==start (
|
||||||
|
CALL :start
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==stop (
|
||||||
|
CALL :down
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==purge (
|
||||||
|
CALL:down
|
||||||
|
CALL:purge
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==tail (
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==reload_share (
|
||||||
|
CALL :build_share
|
||||||
|
CALL :start_share
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==reload_acs (
|
||||||
|
CALL :build_acs
|
||||||
|
CALL :start_acs
|
||||||
|
CALL :tail
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==build_test (
|
||||||
|
CALL :down
|
||||||
|
CALL :build
|
||||||
|
CALL :prepare-test
|
||||||
|
CALL :start
|
||||||
|
CALL :test
|
||||||
|
CALL :tail_all
|
||||||
|
CALL :down
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
IF %1==test (
|
||||||
|
CALL :test
|
||||||
|
GOTO END
|
||||||
|
)
|
||||||
|
echo "Usage: %0 {build_start|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
|
||||||
|
:END
|
||||||
|
EXIT /B %ERRORLEVEL%
|
||||||
|
|
||||||
|
:start
|
||||||
|
docker volume create ${rootArtifactId}-acs-volume
|
||||||
|
docker volume create ${rootArtifactId}-db-volume
|
||||||
|
docker volume create ${rootArtifactId}-ass-volume
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d
|
||||||
|
EXIT /B 0
|
||||||
|
:start_share
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-share
|
||||||
|
EXIT /B 0
|
||||||
|
:start_acs
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" up --build -d ${rootArtifactId}-acs
|
||||||
|
EXIT /B 0
|
||||||
|
:down
|
||||||
|
if exist "%COMPOSE_FILE_PATH%" (
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" down
|
||||||
|
)
|
||||||
|
EXIT /B 0
|
||||||
|
:build
|
||||||
|
call %MVN_EXEC% clean package
|
||||||
|
EXIT /B 0
|
||||||
|
:build_share
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-share
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-share
|
||||||
|
call %MVN_EXEC% clean package -pl ${rootArtifactId}-share,${rootArtifactId}-share-docker
|
||||||
|
EXIT /B 0
|
||||||
|
:build_acs
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" kill ${rootArtifactId}-acs
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" rm -f ${rootArtifactId}-acs
|
||||||
|
call %MVN_EXEC% clean package -pl ${rootArtifactId}-integration-tests,${rootArtifactId}-platform,${rootArtifactId}-platform-docker
|
||||||
|
EXIT /B 0
|
||||||
|
:tail
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" logs -f
|
||||||
|
EXIT /B 0
|
||||||
|
:tail_all
|
||||||
|
docker compose -f "%COMPOSE_FILE_PATH%" logs --tail="all"
|
||||||
|
EXIT /B 0
|
||||||
|
:prepare-test
|
||||||
|
call %MVN_EXEC% verify -DskipTests=true -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests,${rootArtifactId}-platform-docker
|
||||||
|
EXIT /B 0
|
||||||
|
:test
|
||||||
|
call %MVN_EXEC% verify -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests
|
||||||
|
EXIT /B 0
|
||||||
|
:purge
|
||||||
|
docker volume rm -f ${rootArtifactId}-acs-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-db-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-ass-volume
|
||||||
|
EXIT /B 0
|
@@ -1,9 +1,123 @@
|
|||||||
#!/bin/bash
|
#set( $symbol_dollar = '$' )
|
||||||
# Downloads the spring-loaded lib if not existing and runs the full all-in-one
|
#!/bin/sh
|
||||||
# (Alfresco + Share + Solr) using the runner project
|
|
||||||
springloadedfile=~/.m2/repository/org/springframework/springloaded/@@springloaded.version@@/springloaded-@@springloaded.version@@.jar
|
|
||||||
|
|
||||||
if [ ! -f $springloadedfile ]; then
|
export COMPOSE_FILE_PATH="${symbol_dollar}{PWD}/target/classes/docker/docker-compose.yml"
|
||||||
mvn validate -Psetup
|
|
||||||
|
if [ -z "${symbol_dollar}{M2_HOME}" ]; then
|
||||||
|
export MVN_EXEC="mvn"
|
||||||
|
else
|
||||||
|
export MVN_EXEC="${symbol_dollar}{M2_HOME}/bin/mvn"
|
||||||
fi
|
fi
|
||||||
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G -XX:PermSize=300m" mvn install -Prun
|
|
||||||
|
start() {
|
||||||
|
docker volume create ${rootArtifactId}-acs-volume
|
||||||
|
docker volume create ${rootArtifactId}-db-volume
|
||||||
|
docker volume create ${rootArtifactId}-ass-volume
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d
|
||||||
|
}
|
||||||
|
|
||||||
|
start_share() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-share
|
||||||
|
}
|
||||||
|
|
||||||
|
start_acs() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" up --build -d ${rootArtifactId}-acs
|
||||||
|
}
|
||||||
|
|
||||||
|
down() {
|
||||||
|
if [ -f "${symbol_dollar}COMPOSE_FILE_PATH" ]; then
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" down
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
purge() {
|
||||||
|
docker volume rm -f ${rootArtifactId}-acs-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-db-volume
|
||||||
|
docker volume rm -f ${rootArtifactId}-ass-volume
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
${symbol_dollar}MVN_EXEC clean package
|
||||||
|
}
|
||||||
|
|
||||||
|
build_share() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-share
|
||||||
|
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-share
|
||||||
|
${symbol_dollar}MVN_EXEC clean package -pl ${rootArtifactId}-share,${rootArtifactId}-share-docker
|
||||||
|
}
|
||||||
|
|
||||||
|
build_acs() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" kill ${rootArtifactId}-acs
|
||||||
|
yes | docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" rm -f ${rootArtifactId}-acs
|
||||||
|
${symbol_dollar}MVN_EXEC clean package -pl ${rootArtifactId}-integration-tests,${rootArtifactId}-platform,${rootArtifactId}-platform-docker
|
||||||
|
}
|
||||||
|
|
||||||
|
tail() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs -f
|
||||||
|
}
|
||||||
|
|
||||||
|
tail_all() {
|
||||||
|
docker compose -f "${symbol_dollar}COMPOSE_FILE_PATH" logs --tail="all"
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare_test() {
|
||||||
|
${symbol_dollar}MVN_EXEC verify -DskipTests=true -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests,${rootArtifactId}-platform-docker
|
||||||
|
}
|
||||||
|
|
||||||
|
test() {
|
||||||
|
${symbol_dollar}MVN_EXEC verify -pl ${rootArtifactId}-platform,${rootArtifactId}-integration-tests
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${symbol_dollar}1" in
|
||||||
|
build_start)
|
||||||
|
down
|
||||||
|
build
|
||||||
|
start
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
build_start_it_supported)
|
||||||
|
down
|
||||||
|
build
|
||||||
|
prepare_test
|
||||||
|
start
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
down
|
||||||
|
;;
|
||||||
|
purge)
|
||||||
|
down
|
||||||
|
purge
|
||||||
|
;;
|
||||||
|
tail)
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
reload_share)
|
||||||
|
build_share
|
||||||
|
start_share
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
reload_acs)
|
||||||
|
build_acs
|
||||||
|
start_acs
|
||||||
|
tail
|
||||||
|
;;
|
||||||
|
build_test)
|
||||||
|
down
|
||||||
|
build
|
||||||
|
prepare_test
|
||||||
|
start
|
||||||
|
test
|
||||||
|
tail_all
|
||||||
|
down
|
||||||
|
;;
|
||||||
|
test)
|
||||||
|
test
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: ${symbol_dollar}0 {build_start|build_start_it_supported|start|stop|purge|tail|reload_share|reload_acs|build_test|test}"
|
||||||
|
esac
|
@@ -1,97 +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 and Solr Tomcat Runner</name>
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
<description>Alfresco, Share and Solr Tomcat Runner</description>
|
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>${groupId}</groupId>
|
|
||||||
<artifactId>${rootArtifactId}</artifactId>
|
|
||||||
<version>${version}</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<profiles>
|
|
||||||
<profile>
|
|
||||||
<id>run</id>
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>copy-tomcat-resources</id>
|
|
||||||
<phase>prepare-package</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-resources</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<outputDirectory>${project.build.directory}/contexts</outputDirectory>
|
|
||||||
<resources>
|
|
||||||
<resource>
|
|
||||||
<directory>tomcat</directory>
|
|
||||||
<filtering>true</filtering>
|
|
||||||
</resource>
|
|
||||||
</resources>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.tomcat.maven</groupId>
|
|
||||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>run-wars</id>
|
|
||||||
<goals>
|
|
||||||
<goal>run</goal>
|
|
||||||
</goals>
|
|
||||||
<phase>pre-integration-test</phase>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<configuration>
|
|
||||||
<ignorePackaging>true</ignorePackaging>
|
|
||||||
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
|
|
||||||
<path>/</path>
|
|
||||||
<systemProperties>
|
|
||||||
<solr.solr.home>${project.parent.basedir}/solr/solr_home</solr.solr.home>
|
|
||||||
</systemProperties>
|
|
||||||
<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>
|
|
||||||
<asWebapp>true</asWebapp>
|
|
||||||
<contextPath>/alfresco</contextPath>
|
|
||||||
<contextFile>${project.build.directory}/contexts/context-repo.xml</contextFile>
|
|
||||||
</webapp>
|
|
||||||
<webapp>
|
|
||||||
<groupId>${project.groupId}</groupId>
|
|
||||||
<artifactId>share</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
<type>war</type>
|
|
||||||
<asWebapp>true</asWebapp>
|
|
||||||
<contextPath>/share</contextPath>
|
|
||||||
<contextFile>${project.build.directory}/contexts/context-share.xml</contextFile>
|
|
||||||
</webapp>
|
|
||||||
</webapps>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</profile>
|
|
||||||
</profiles>
|
|
||||||
|
|
||||||
</project>
|
|
@@ -1,24 +0,0 @@
|
|||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Alfresco SDK @@alfresco.sdk.parent.version@@ - Running Alfresco ${alfresco.version}</title>
|
|
||||||
</head>
|
|
||||||
<body style="font: 13px/1.231 Open Sans,arial,helvetica,clean,sans-serif;">
|
|
||||||
<img alt="Maven Alfresco SDK" src="https://github.com/Alfresco/alfresco-sdk/raw/master/src/site/resources/img/alfresco-maven-logo.jpg">
|
|
||||||
<p>Congratulations, you are successfully running the <a href="https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/archetypes/alfresco-allinone-archetype/index.html">All in One project from the <a href="https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html">Alfresco SDK @@alfresco.sdk.parent.version@@</a>, powered by <a href="http://maven.apache.org/">Apache Maven</a>!
|
|
||||||
<br/>
|
|
||||||
You can access the Alfresco components running embedded below:</p>
|
|
||||||
<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>
|
|
||||||
</ul>
|
|
||||||
<p><b>Resources:</b></p>
|
|
||||||
<ul>
|
|
||||||
<li><a href="http://docs.alfresco.com">Alfresco Documentation</a></li>
|
|
||||||
<li><a href="https://support.alfresco.com">Alfresco Enterprise Support portal</a></li>
|
|
||||||
<li><a href="https://github.com/Alfresco/alfresco-sdk/fork">Fork and contribute to this SDK!</a></li>
|
|
||||||
<li><a href="https://issues.alfresco.com/jira/browse/ALF">Report an Alfresco issue</a></li>
|
|
||||||
<li><a href="https://github.com/Alfresco/alfresco-sdk/issues/new">Report an SDK issue</a></li>
|
|
||||||
</ul>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!-- This context file is used only for rapid development, never installed released with the webapp -->
|
|
||||||
<Context>
|
|
||||||
|
|
||||||
<Resources className="org.apache.naming.resources.VirtualDirContext" extraResourcePaths="/=${project.parent.basedir}/repo-amp/target/repo-amp/web" />
|
|
||||||
<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" />
|
|
||||||
</Context>
|
|
||||||
|
|
||||||
|
|
@@ -1,13 +0,0 @@
|
|||||||
<?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" />
|
|
||||||
<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 -->
|
|
||||||
<JarScanner scanAllDirectories="true" />
|
|
||||||
|
|
||||||
</Context>
|
|
@@ -1,12 +0,0 @@
|
|||||||
<?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 -->
|
|
||||||
<JarScanner scanAllDirectories="true" />
|
|
||||||
|
|
||||||
</Context>
|
|
@@ -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>
|
|
@@ -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
|
|
@@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
};
|
|
@@ -1,3 +0,0 @@
|
|||||||
# Define here logging properties for your AMP specific classes
|
|
||||||
# This will end up in alfresco.war/WEB-INF/classes/alfresco/module/log4j.properties
|
|
||||||
# and loaded as per http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#log4j.properties
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user