mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
360 Commits
alfresco-l
...
alfresco-s
Author | SHA1 | Date | |
---|---|---|---|
|
4431863500 | ||
|
d2e9b89720 | ||
|
cda786187c | ||
|
8cf04fc98d | ||
|
3b579596db | ||
|
b2afebed09 | ||
|
3707dbc5d6 | ||
|
f3d85a19ce | ||
|
6c57d9ede0 | ||
|
0958c63b44 | ||
|
eeb5e7304f | ||
|
8d06e0e791 | ||
|
a11a3a65b6 | ||
|
5936c3fcda | ||
|
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 | ||
|
09fefd9034 | ||
|
8fe1d265f8 | ||
|
4489f44636 | ||
|
077ff66198 | ||
|
6c8a4580d5 | ||
|
27dd99b809 | ||
|
2d6eec000d | ||
|
dd270a3ca8 | ||
|
561aa10ff7 | ||
|
5c4174e0d8 | ||
|
ab258df2b4 | ||
|
65414648c8 | ||
|
dad090fc73 | ||
|
84e8fd5ae7 | ||
|
f3df237cf0 | ||
|
fe2fdd3c06 | ||
|
be3b8618ae | ||
|
6d5ab89f4a | ||
|
51ab29e79b | ||
|
dab870c8f5 | ||
|
6076eecf4c | ||
|
eb583a15fd | ||
|
114d66fca1 | ||
|
faf0d89df9 | ||
|
a409cf08bd | ||
|
5421b845c8 | ||
|
fc55716499 | ||
|
ec26fef087 | ||
|
7ad13ab5ca | ||
|
6a770b9c3f | ||
|
6f1672b481 | ||
|
b4da819901 | ||
|
7871162941 | ||
|
97f7a04704 | ||
|
1020ea3e2b | ||
|
701c3e87d4 | ||
|
9b712d83e2 | ||
|
4a6c98d2a4 | ||
|
2718581d23 | ||
|
11a75c823a | ||
|
53547a4d8b | ||
|
148dff92ed | ||
|
6fb92cf40b | ||
|
90e8f95197 | ||
|
d2fbf381e5 | ||
|
da5ffcf2a6 | ||
|
52aac9ab2b | ||
|
a7b553866f | ||
|
d2517be6a1 | ||
|
9aacf6064c | ||
|
13a384c437 | ||
|
15f2aa1c85 | ||
|
2c880f6619 | ||
|
495820dbc1 | ||
|
a4f932de0c | ||
|
5e6c04700d | ||
|
8070c7c5e2 | ||
|
879f02b534 | ||
|
cccf604bb2 | ||
|
10eef5a821 | ||
|
661982b7bb | ||
|
292a90ac3a | ||
|
c625cccd3b | ||
|
fd8708c2f3 | ||
|
d367cf4a00 | ||
|
e354786112 | ||
|
ccdd59657f | ||
|
760d970240 | ||
|
3f44c3be58 | ||
|
b55d13b0d0 | ||
|
a37e89f34b | ||
|
351a81f4f0 | ||
|
addad0866f | ||
|
ba31887533 | ||
|
17350c4328 | ||
|
feb0d736da | ||
|
ed17a67187 | ||
|
3735773e71 | ||
|
f7731c25c0 | ||
|
3028567d0f | ||
|
ba7714fccc | ||
|
e5a8e944d5 | ||
|
d16c7572a5 | ||
|
e841f8039a | ||
|
80b914ba3d | ||
|
0c879938b2 | ||
|
1d6be1d5b0 | ||
|
23ffd5fa9d | ||
|
75ad7f1d40 | ||
|
d99773c1f4 | ||
|
c537eb438f | ||
|
d095094ff4 | ||
|
3adbf119f8 | ||
|
a1ca398736 | ||
|
0f5e234d2b | ||
|
c27b75f819 | ||
|
4dadee2e76 | ||
|
4c21e6f8cf | ||
|
9e4dd2b84f | ||
|
047c05032c | ||
|
61b61ccbb6 | ||
|
2513926a09 | ||
|
9e051bf382 | ||
|
dfa0937cd5 | ||
|
a9e8bde3a2 | ||
|
5c56d668e2 | ||
|
c814ca2b18 | ||
|
49f3014c5e | ||
|
66d30c9841 | ||
|
89519f33aa | ||
|
2461827c0d | ||
|
14727c05cf | ||
|
6b7c68ed22 | ||
|
aa48517e04 | ||
|
7ae88244ff | ||
|
bdd82bfa97 | ||
|
36cbd57dcd | ||
|
3e97370fcf | ||
|
a5fde50bc0 | ||
|
5e7f4c623e | ||
|
df38011aa0 | ||
|
3c4d153f3d | ||
|
e3aeee2310 | ||
|
6c3977a52a | ||
|
38fd25b352 | ||
|
335c395e3a | ||
|
54eed21b25 | ||
|
278ed06ae4 | ||
|
a1d5ac50a4 | ||
|
7c388afdbd | ||
|
a06f1b3642 | ||
|
48f3c3a2b3 | ||
|
b4c4e34a02 | ||
|
1e1430fb5f | ||
|
427944a051 | ||
|
3f2b3e8dc5 | ||
|
7b1d3cca7c | ||
|
59f63764ec | ||
|
16e3456457 | ||
|
5ab005c182 | ||
|
84a34450a4 | ||
|
adbad5c377 | ||
|
42c16e2844 | ||
|
1d2213ee84 | ||
|
782c34b652 | ||
|
c11a4bea38 | ||
|
11520dd4f5 | ||
|
d2efe45daa | ||
|
4fcde94b42 | ||
|
4a9ee81c91 | ||
|
685cc19e32 | ||
|
bc55760810 | ||
|
8568a8f1e3 | ||
|
9f24d52e8c | ||
|
a5fd434727 | ||
|
800a40b895 | ||
|
281b079bff | ||
|
49c8586c8f | ||
|
206f2d1aa6 | ||
|
5a3bbf9358 | ||
|
3f364593da | ||
|
f6f3910f06 | ||
|
58e55471ea | ||
|
f3fe02bd6b | ||
|
a5d942eeea | ||
|
953656e2bd | ||
|
7cb1ddae97 | ||
|
8032c2a83c | ||
|
6ce6a25bef | ||
|
3dc65c84dd | ||
|
505d7f7659 | ||
|
13b215b1c1 | ||
|
c7e12d32c6 | ||
|
ed0bde637b | ||
|
2ef8794fa1 | ||
|
568fe5f476 | ||
|
8966296c1d | ||
|
d051aeef80 |
14
.gitignore
vendored
Normal file
14
.gitignore
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
**.idea
|
||||
**.classpath
|
||||
**.project
|
||||
**.ipr
|
||||
**.iml
|
||||
**.log
|
||||
**.log*
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.next
|
||||
release.properties
|
||||
**.settings
|
||||
**bin
|
252
DOCS.txt
252
DOCS.txt
@@ -1,252 +0,0 @@
|
||||
This document needs updating...
|
||||
|
||||
**********************************
|
||||
Disclaimer for maven-alfresco list
|
||||
**********************************
|
||||
|
||||
This codebase is currently work in progress; the effort have been split in three directions:
|
||||
a) The definition of 2 POM files that can handle versions and common build behaviors/features
|
||||
b) The writing of an alfresco-maven-plugin to enable amp-to-war overlay provided by Alfresco
|
||||
Repository built-in features (ModuleManagementTool) and replace the maven-amp-plugin (big
|
||||
rewriting of the maven-war-plugin)
|
||||
c) The definition of (initially 2) archetypes that show some simple project's configuration using
|
||||
the parent POMs
|
||||
|
||||
Most of the build features have been successfully ported to a new structure, whose main advantage is
|
||||
to keep pom.xml files extremely simple and readable (since a lot of logic have been moved to the parent).
|
||||
Inherited behaviours are configurable simply defining specific properties in the project's or module's pom.xml
|
||||
(see documentation below).
|
||||
|
||||
Here follows a list of build features that have not been ported yet:
|
||||
- Maven SCM and release
|
||||
- JBoss run
|
||||
- Tomcat remote deployment
|
||||
- Jetty Java source and resources reloading (Jetty currently runs .war files)
|
||||
- Maven Site generation
|
||||
- Maven reporting
|
||||
- Maven distributionManagement
|
||||
|
||||
Apart from SCM and release, all the mentioned features are probably best suited for a more enterprise archetype,
|
||||
using the Alfresco Web Integration POM as parent and adding more build features around Maven, Tomcat and JBoss.
|
||||
|
||||
******************
|
||||
Alfresco Maven SDK
|
||||
******************
|
||||
|
||||
The Maven SDK is an effort that have been developing in the last 5 years - mostly driven by community efforts on
|
||||
Google Code (http://code.google.com/p/maven-alfresco-archetypes) - which delivers archetypes for building Alfresco
|
||||
integration project with Maven; builds are based on artifacts that are deployed into maven.alfresco.com Repository
|
||||
manually as a community effort.
|
||||
|
||||
The main advantages with the (currently official) Alfresco SDK follows:
|
||||
|
||||
- IDE-independent SDK, use IntelliJ, eMacs or any other IDE sto write your code
|
||||
|
||||
- No IDE manual configuration, all build-related features are provided by Apache Maven, which is the only
|
||||
prerequisite to use this SDK
|
||||
|
||||
- Language independent, you don't like Maven? You can still use Ant, Ivy, Buildr, Gradle, Leiningen or any other build
|
||||
system that is compatible with Maven artifact resolution mechanism; just configure maven.alfresco.com as (one of) your
|
||||
Maven repositories and you're ready to go
|
||||
|
||||
- Javadoc and Sources support, provided by maven.alfresco.com related Maven artifacts; you don't need to manually
|
||||
configure your IDE to attach (manually downloaded) sources to your (manually downloaded) binaries.
|
||||
|
||||
- Clean and readable, the build logic related with OOTB Alfresco features is wrapped in 50 lines of pom.xml
|
||||
|
||||
- Advanced build functionality, inherited by your parent POMs you can use embedded databases and j2ee
|
||||
containers with (almost) no configuration at all, among other features exposed below.
|
||||
|
||||
- One mvn command to generate, one mvn command to run, this is all you need to do to have a local Alfresco running
|
||||
on an empty laptop
|
||||
|
||||
- Supports community and enterprise flawlessly, allowing to switch one to another very easily
|
||||
|
||||
The following documentation aims to provide three different levels of complexity to tackle an Alfresco integration
|
||||
project: simple, advanced and custom; the latter exposes in details the Maven Alfresco SDK features.
|
||||
|
||||
*************
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
The main and only prerequisite to follow reading this document is to have Apache Maven 3.0.3 (or higher) installed
|
||||
on your machine; there is no preferred IDE nor web container and database requirements needed.
|
||||
|
||||
It is strongly advised to use the Apache Maven official binary distributions downloaded from maven.apache.org; avoid
|
||||
OS-specific distributions as much as possible.
|
||||
|
||||
************
|
||||
Use - Simple
|
||||
************
|
||||
|
||||
If you're new to Alfresco, you probably want to know which is the impact of introducing such a technology within your
|
||||
development team, run it locally, assess all development processes involved with the product and which
|
||||
technologies/tools are best suited for those.
|
||||
|
||||
You can currently choose between two different flavors, depending on your final goal:
|
||||
|
||||
* If you want to assess efforts involved with AMP development, you can run the following commands:
|
||||
|
||||
1.
|
||||
mvn archetype:generate \
|
||||
-DarchetypeGroupId=org.alfresco.maven \
|
||||
-DarchetypeArtifactId=quickstart-amp-archetype \
|
||||
-DarchetypeVersion=1.0 \
|
||||
-DgroupId=com.someco \
|
||||
-DartifactId=alfresco-amp-quickstart \
|
||||
-Dversion=1.0-SNAPSHOT \
|
||||
-DarchetypeRepository=http://maven.alfresco.com/nexus/content/repositories/releases \
|
||||
-DinteractiveMode=false
|
||||
|
||||
You can always switch Alfresco versions/editions by editing the <parent> coordinates of your generated pom.xml
|
||||
|
||||
2.
|
||||
cd alfresco-amp-quickstart && MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m" mvn package -Drunamp
|
||||
|
||||
Browse to http://localhost:8080/amp-quickstart and you will find Alfresco Explorer Client running against a local
|
||||
Alfresco Repository sitting on top of an H2 embedded database and loading your AMP package.
|
||||
|
||||
* If you want to customise Alfresco Explorer and/or Share clients, embed AMP packages/projects or simply run both
|
||||
Alfresco Explorer and Share on the same machine, run the following commands:
|
||||
|
||||
1.
|
||||
mvn archetype:generate \
|
||||
-DarchetypeGroupId=org.alfresco.maven \
|
||||
-DarchetypeArtifactId=quickstart-allinone-archetype \
|
||||
-DarchetypeVersion=1.0 \
|
||||
-DgroupId=com.someco \
|
||||
-DartifactId=alfresco-allinone-quickstart \
|
||||
-Dversion=1.0-SNAPSHOT \
|
||||
-Dedition=community \
|
||||
-DarchetypeRepository=http://maven.alfresco.com/nexus/content/repositories/releases \
|
||||
-DinteractiveMode=false
|
||||
|
||||
2.
|
||||
cd alfresco-allinone-quickstart && MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m" mvn package -Drun
|
||||
|
||||
Compared with the previous flavor, alfresco-allinone-quickstart is a Maven multi-module project, which also includes
|
||||
an AMP project that gets 'overlaid' into both Alfresco and Share web applications.
|
||||
Alfresco Explorer is available at http://localhost:8080/alfresco whereas Alfresco Share is available at
|
||||
http://localhost:8080/share
|
||||
|
||||
************
|
||||
Use - Custom
|
||||
************
|
||||
|
||||
When the build logic becomes tough, integrating with third party technologies, introducing complex build scenarios,
|
||||
you might want to have a lower integration level with Alfresco SDK; there are basically 2 big integration points
|
||||
you can rely on, which are basically Alfresco-maintained POM files that provide:
|
||||
|
||||
- A list of Alfresco artifacts, including binaries, javadoc and sources, Maven plugins successfully tested against
|
||||
the standard and supported build process; artifacts come with correct platform versions and editions
|
||||
(community vs enterprise) according with the <groupId> and <version> tags parent coordinates.
|
||||
You can simply define the following parent POM in your project's pom.xml:
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.enterprise</groupId>
|
||||
<artifactId>alfresco-platform-parent</artifactId>
|
||||
<version>4.0.1</version>
|
||||
</parent>
|
||||
|
||||
In Maven geek terms, this parent POM will define <dependencyManagement>, <pluginManagement> and <properties> elements
|
||||
related with Alfresco-produced artifacts.
|
||||
|
||||
The main goal of this approach is to give you full access to Alfresco artifacts without needing to handle dependency
|
||||
and plugin management inside your pom.xml.
|
||||
|
||||
Please note that Alfresco artifacts are not shipped with POM files at the moment, therefore transitive dependencies
|
||||
are not handled; you will need to define them explicitly in your pom.xml (using <scope>provided</scope>
|
||||
|
||||
- A set of useful build features around Alfresco web integrations, which are also inherited by alfresco-platform-parent;
|
||||
if you want to use it directly and skip alfresco-platform-parent, you can define:
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.enterprise</groupId>
|
||||
<artifactId>alfresco-developer-parent</artifactId>
|
||||
<version>1</version>
|
||||
</parent>
|
||||
|
||||
In this case you will have to re-define a list of properties to set your dependency versions:
|
||||
|
||||
<alfresco.version>4.0.1</alfresco.version>
|
||||
<spring.version>3.0.5.RELEASE</spring.version>
|
||||
<h2.version>1.3.158</h2.version>
|
||||
<h2-support.version>1.2</h2-support.version>
|
||||
<servlet.api.version>2.5</servlet.api.version>
|
||||
<faces.version>1.1_02</faces.version>
|
||||
<digester.version>1.6</digester.version>
|
||||
<log4j.version>1.2.15</log4j.version>
|
||||
|
||||
Besides the alfresco-integration-parent items inherited, this parent POM provides 3 commonly used features that can
|
||||
be easily enabled/disabled/configured:
|
||||
|
||||
* AMP overlay into an Alfresco (or Share) Extension
|
||||
---
|
||||
Activation: built-in
|
||||
---
|
||||
When your project (or sub-module) is a <packaging>war</packaging>, you can automatically include one or more
|
||||
AMP files by defining the dependencies into the pom.xml, as follows:
|
||||
<dependency>
|
||||
<groupId>com.mycompany</groupId>
|
||||
<artifactId>amp-module</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
The AMP files will be overlayed on top of your current WAR customizations, therefore
|
||||
they can override the content of the original WAR.
|
||||
|
||||
-- oOo --
|
||||
|
||||
* Multi-environment property filtering
|
||||
---
|
||||
Activation: exists src/main/properties
|
||||
---
|
||||
You can enable multi-environment property filtering by simply creating the
|
||||
src/main/properties/${env}/${webapp.resource.filter} file with your property values;
|
||||
all files included in src/main/resources and src/main/properties will be filtered
|
||||
with your properties defined; in order to switch between environments,
|
||||
simply attach -Denv=yourenv to your mvn commands.
|
||||
---
|
||||
Properties
|
||||
---
|
||||
<env>local</env>
|
||||
<webapp.resource.filter>alfresco-global.properties</webapp.resource.filter>
|
||||
<webapp.resource.build.folder>${project.build.outputDirectory}</webapp.resource.build.folder>
|
||||
<webapp.name>${project.artifactId}</webapp.name>
|
||||
|
||||
-- oOo --
|
||||
|
||||
* Jetty H2 configuration
|
||||
---
|
||||
Activation: exists jetty/jetty.xml
|
||||
---
|
||||
You can enable Jetty to run your application(s); by default Jetty will run all contexts
|
||||
using jetty/jetty.xml as Jetty Server configuration, allowing to add the jndi resource
|
||||
needed to start Alfresco Repository webapp; if you want to run multiple webapps - for
|
||||
example share and alfresco - follow the example listed below:
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run</id>
|
||||
<goals><goal>run</goal></goals>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<contextPath>/</contextPath>
|
||||
<webAppSourceDirectory>.</webAppSourceDirectory>
|
||||
<webXml>jetty/root-web.xml</webXml>
|
||||
<contextHandlers>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../alfresco/target/alfresco.war</war>
|
||||
<contextPath>/alfresco</contextPath>
|
||||
</contextHandler>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../share/target/share.war</war>
|
||||
<contextPath>/share</contextPath>
|
||||
</contextHandler>
|
||||
</contextHandlers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
155
KEYS
Normal file
155
KEYS
Normal file
@@ -0,0 +1,155 @@
|
||||
This file contains the PGP keys of various developers.
|
||||
|
||||
Users: pgp < KEYS
|
||||
gpg --import KEYS
|
||||
Developers:
|
||||
gpg --list-key <your email> and append it to this file.
|
||||
gpg -a --export <your email> and append it to this file.
|
||||
|
||||
(gpg --list-key <your email>
|
||||
&& gpg --armor --export <your email>) >> this file.
|
||||
|
||||
################################################################
|
||||
# Gabriele Columbro
|
||||
################################################################
|
||||
|
||||
pub 4096R/6FE5701E 2012-03-25
|
||||
uid Gabriele Columbro (VALID CODE SIGNING KEY) <gabriele@apache.org>
|
||||
sub 4096R/E97059F3 2012-03-25
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.10 (GNU/Linux)
|
||||
|
||||
mQINBE9u680BEADFHOMCFOnPeuSNLJw+KiKVFm9Waa9oWMxKpYhCP4bDA0sH85/W
|
||||
ZKJDaPR+2p5JAoB0y3ZfxHfmhoLZRmLgP1oSJBfB2VgdbG1My4Oshd/h8Tr5pAJj
|
||||
bulvC5urWcYD9eYNFVJtG28l7epnjx0NglA6WBk9Bx5+XGSLvxaQkCu6S7D9V+cw
|
||||
2nJqZia7ul/J5xjGWy5aBZubwj1UT2YhZwxEmSjlBo0jrf8y4YScCz2VXJVs33p1
|
||||
CHQESCuBRZ0dK2kCmRaU+2bhJy9+nFstHYVAygwbQ8Km4sqSpcjEAZTpKK/lspbH
|
||||
c7TcZcFujLCCoHuAh4k0I/Qp3My0QqUpmdwsWQdbknP4MkQJlYB5GxnJnFzsA1Hg
|
||||
fJwOa23b1lFNhZSdmY9NSM+2Ihg1XB4pb4Z0+uqLMAVR8owpuaJ329W+LJJutQyC
|
||||
87Kc1KH4He8KuENGhQT16+NJlUFrRSYaST9NB9RbFURc1eUMgHHXjcJp9sny2YPY
|
||||
bq89W0HtHSNH0My/akK47qcX1ddKGE8PTVdS5kDhS+w75f9Lf+gyV5HflzZSaaSQ
|
||||
+rD/WZ8uTeQKNSYvupdv63i1FIOJd1Ip0C8fj/STwWdDRvq5UwiHsiGgw30WCNAy
|
||||
VQ+OPJ+7DNm4pJEkcxno+WeTbCpZGysvFjouDPig/+a69IMPEYE2xQuz7wARAQAB
|
||||
tEBHYWJyaWVsZSBDb2x1bWJybyAoVkFMSUQgQ09ERSBTSUdOSU5HIEtFWSkgPGdh
|
||||
YnJpZWxlQGFwYWNoZS5vcmc+iQI4BBMBAgAiBQJPbuvNAhsDBgsJCAcDAgYVCAIJ
|
||||
CgsEFgIDAQIeAQIXgAAKCRA1c7pOb+VwHnTxD/0V9Fnn7pjVWYkUi/62xh4DXfMO
|
||||
urvsafeH5JXE3a6e856sFg8AV/w2ceJYqzZ5l46GkF/B9buParLQmnXTni/ClokU
|
||||
IeRM/Faj964DXZRAdTiu06VnGxzTN5Dpo1rr/wccjamq/B19ta7xW+z+zfY9jby3
|
||||
UUHkIV0itVIRZ3K3Tc7tssmj4ATkwvHlXWQo89cQcoTpBrJyClRsSWPQgefws38P
|
||||
6J+PXUqBuw5JDH6WhOvovkWBZt0ryduCjHNat7JYYjLBzPX//rMj8c9xytFHCxaq
|
||||
JUvS9BAdW5UE3mG8OBkvRhNqvPLrKUch9ETiYWetWf3trRUDQhHhngN/t9a7pVDx
|
||||
vsP63fozPD58LK7Ete05emukYg18xGGhRixu10KgwbuAqJD2t6GUd2gjJBI/5Qua
|
||||
99ImffhLoLNuv6w2XE2ePPkMLBOh4SdzOHJ23ffO8IDRG8yfQD9yT1dC+aHEKd6D
|
||||
OA/pJGcjoXUubtoa0ARKL30gx6d4xXeiaRKHUP/tLHx5nxctGOPNYgwz4j4VyaR/
|
||||
KNpFU3bZPR0NWAKNcjTO2MT4ZzBMOidWJjWM3D29ZYa23Lwxea7hpswL2PQgHthu
|
||||
jqArjrBTuMLmUw/L4kGQDfOfrasBoYTHKK3J2WejczgaNmEd2Rd7LjJGJZBGdcBu
|
||||
l98PjbR9xLxkm3ql0okEHAQQAQIABgUCT3l9MAAKCRCKr4jW2E5BrgLBIACvfl3Z
|
||||
cgPoZy/SRLF6FojxgwzX7/3t45jZnQXxWvnuEb6cFjyXU+y3i/9x9yRs8B2EeW3v
|
||||
uSEa8lsUo/QN08almF+QOzNMof+RGhHsPanlm8dW5iibdWfP+GsL0S5Mo6GhaFZW
|
||||
SQUfYWsuqUGBmLp9aH3uMTkCvjq2iNZ0UoTm8ZQ+iJnNhfE2iMkH6U6WBEAr9PID
|
||||
uFLVy2uw2kKKdPVpRntQuOyUKuCQC1ydN2kH/I01TwonFepBCjdEMtaW9tTZNJ5A
|
||||
Z8nKOlXOX+zo1HNEiD6hGAqn2ZqotnzFKrx4AwhDb4Wt3N2Nc9YBM7noxlKQuPby
|
||||
Pa9ydXmtIrRHjAHJeL0dY2BFfRb5zeUuiuz+zOY186LDCaH+txjPeudKxDv7uyNu
|
||||
5XNAbRUQj06ZxhtPT/xvzpIcxuqOzAh/znZXM3RnOB6Wj3p4jXC/neEJwKL/yuEo
|
||||
bZvIa/dnU5tI7uVhfrK3SKdi4Q+oQgYvTmy/mrISJB9p2npJAr+mrq7XpwZD77HT
|
||||
ZxYMZKjY6aQ8KoTgR48JXKylxuEGidZJduVLGsHH3mF2YcENgKcPQCOI+uSHP432
|
||||
Tt/7ARsbYV9lF+9XDn75UAQrOjlbhs/ovOlzhx+BAbmszZADwRbMB+CQl2N4ds3l
|
||||
LhtkbqAfs2bjauw9NnSmNAhxFdnCmBnN96+GysfQOnxhUI6LT+S8S6bWsTinq1Xa
|
||||
d7lXhGtyD1LtDpdzynLjQgis6v+45IvYUa6zoOkTunhM2A0jsZhmjk9ZpZHywyZF
|
||||
K5nNZQy6Q6L5OmW1XNnxtob02d4sotNoAEYvrPo3QLDsL4UI3Z1DnrvW8K4DQBj7
|
||||
4EkANks7o70pxYdMElhYy4rJ5rt25004jeYztuwE885T5CSHN+0aPdjkP5rZSkuU
|
||||
90j7hOT2qDkFf/H81RZufDdgyVKzLRkAYKiSrZaqAXcqBEOMq6rYMitkgEP07FOP
|
||||
6eFBImRpz0OINGz3hrVCNHbxng/TWke3wi05DBRcJIhNWu8P2QXdDaAEBORFunAT
|
||||
NISbdt4/5p5DYOdxe9wlUECKdE2zDG++JTat30lsNfZi183QOQfGCd770kFrGcMY
|
||||
DvpyUVT8BZqS9TSsS97Zhg6boRU9Etb8MORYJ2cGdXwjrUerFBmHebSmSZPKTMKF
|
||||
rznEiwroUQQsIoTzbnd88KlgqbwCazGM2LfI0svONvNXbu7B7iKkcNU9M2LpRZu3
|
||||
n5t7v/Nfilc3YssRNi5nFWQarmqP2qTkyr434OeFSuzO9yz5/BGPcWbvkBzWExMS
|
||||
6854rMPAFh3g6YdyJnhjf9TaNNlMH9xKQgsL5C9Q4YGSGU9oklhSq3W5FSxT97E0
|
||||
NhwVmN+yElh3FBswuQINBE9u680BEAC8CvXUxbns4X8dvxEcgb8ReDGTa2vVij0U
|
||||
kBqDyHq1Yta1e6Qm34fNizcds/avbmBB8q8dTNMR1Ka4aPukc+M+oGOY4aKgQNCW
|
||||
YfrdBVAdVZ9RCyZC9Jy3XlPoSBokLGxz4J212OdWTOzQTzIEfsVzAQmxGmnqv5yP
|
||||
R+PKLGZvyRpwAjz12K4yZmztOte8mi/pQtKXzB45LggbHh39iO1nG6EKQLWyyoA2
|
||||
olF9Eb+yHdZQOpLCLnqc7FS3Cbz80SVqGS5miU3CSp7GTBEA1wualxKvNNiPO2p2
|
||||
MMnjMVcxZx1k3d4C7+uMGvtZiTqa7tmWODz1dfwolfYQ/E4TcxG2vzKatE07JG7X
|
||||
3vVmfR2Bjb2ITN8Kj1ZdVeQkHgJvRx8B6glFQhv6lso5XUuoWt5Gm66wCyirjCDn
|
||||
OLJKk6YkdSop8EweAy675VFoq3LSASyep72jrgT3AMf8U0nAgZSrwLMjBjSVzIRs
|
||||
FNv30iCBXYy/bmSyfMEphjttKCYHnNjZS8fD+ka1zzXnOXglWNtDGDOdJ5zaIymW
|
||||
R4FZlrQMjs4y564WMHJWG9exncSPHNPLLieGAng4oJjAXR92GgrTZQAcghTRGBOn
|
||||
rRYzv9ob6n2wgnA8wR+Wmy0xcmF44xNht3mfD1qTO0P2Fdhdm4ZvXQBII0tXkwMl
|
||||
OJ/BR732xQARAQABiQIfBBgBAgAJBQJPbuvNAhsMAAoJEDVzuk5v5XAeTZQP/2g9
|
||||
1KOS1pia2gAOmFbuu0ep1THRxuLydcn6C306YmnL2l+o5z0YE4nPYiD9rd+PkWFm
|
||||
0itE2WBBZkEloesUcjX/xsw7t6pdzd3W6nu1LXPcppOeHAc1ofrRWqKSmfD5k2lB
|
||||
8dzuRKltU6b829wcDi0HlL+dP8G9pcJXz2cMs09QchOdvm/hQam9SHFwx9IDJvrt
|
||||
nHB4kLfUTJ0Fs4FjtT+nfozXE+wXd23+HyNVQPX3rTO5IR4DOTDNSZ+vxqkE0BeF
|
||||
6M4dDvMADBEgkEwpsRzioEp75biw5bq8YsDvYNGpyJOFt46bRWjrzOcUsIXMy4eQ
|
||||
uTk/flFQs3ukw7q7DvSBVRokfjFHWr3FZC30xyRijJImW4F1Xqa3HphC3+4fSQjx
|
||||
w652pOx0aZlBHtVByYBLYcrCGcJ8p6ijpPX60ur3a8ebdUHND912+mIGiQzhkHiK
|
||||
VBvvfOrbWzcNwbxAsNncAfjr/3adPAjbyMH10+e+sNhLMJuYYgP8pVhp8BTKFJF9
|
||||
hrGAueS2lH5DUpjZPqClR+txnAK+hVCuFogoWsdsbRHMLkqKqhnQjWnvRrU0ud9j
|
||||
ytG/XwLK3RL7LTmPIC9RqlO1U1A3h5Ykw2INH/bB90lBxmydmp/PHpkhjEAEvzGW
|
||||
r+ipOwsWpF6kLIHUT2LuPxLqTGQCrqYtJyTp61tE
|
||||
=GUM9
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
################################################################
|
||||
# Alfresco Software, Inc - PGP key
|
||||
################################################################
|
||||
|
||||
pub 4096R/DAD3B670 2014-10-20 [expires: 2015-10-20]
|
||||
Key fingerprint = 6959 A697 47E2 7AC4 E1E7 1636 199D 99B1 DAD3 B670
|
||||
uid Alfresco Software, Inc (GPG) <info@alfresco.com>
|
||||
sub 4096R/A4B70B45 2014-10-20 [expires: 2015-10-20]
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v2.0.14 (GNU/Linux)
|
||||
|
||||
mQINBFRFM3EBEADveqoXdxufZiP+hK992UJO9OIumDts9SlirI4VviyRlCn/qc3X
|
||||
5wzAAsTNRBJjsk3S3O3EfmK79GodIb0ebnQSbv6+EnwPK0uwS0ykoy7JrMUHVBY+
|
||||
zI9AwGIe0UpCRXfPH3x0O1Psi1fcKGR/Qs2ouTnCpzDZRq3kFt7/iCXm6t8QpaxE
|
||||
y4KNxT/S8MeGydslqgbEA4fCZ6RP9kzFs8tCNyv9WxHkcb0oos/nC2ihJy3HZATO
|
||||
A2qeTxS5pf6O1hJuE7XRIRCPTN1j0uSAl4ebDKPn4uANz8MwYcZBz89lWVmP/wEz
|
||||
AoN8jWjqb/SstURj+czjXoxhoxMaLDMjdw5RoJsLUmlfp2j9eaFbxmUl103wUL+O
|
||||
R+6sk5pXHpvifjeI/AjNTaZe6WVfkgcUqkHmw0GUgdASgBLBDciGd+O4sXr/L/iZ
|
||||
wxhdxcubWy4MbKcy7QlcS4Z4FwK6jjPQKjn+7PT3Wexh8SAX0661gntV7Rr/SYIY
|
||||
edyRdtLd+SP+TuOn4wQY5x8ahHqGi4PDoSaCMAZ8jbQnbAXXeOlkBuyDm+Z4iGDC
|
||||
OQgjvvQufB2ZA1ml9DjtZOWIdgUQfanGaO8TW+V5v+PFvfMkRFIMMyS8WEp6ePT/
|
||||
IOBDxUBQ0BZ1BktkQ+Oifi179EyvghpePciUWX5oDf6AfW/QfLhnkVhQPQARAQAB
|
||||
tDBBbGZyZXNjbyBTb2Z0d2FyZSwgSW5jIChHUEcpIDxpbmZvQGFsZnJlc2NvLmNv
|
||||
bT6JAj4EEwECACgFAlRFM3ECGwMFCQHhM4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
|
||||
AheAAAoJEBmdmbHa07ZwTtYP/jdMOUFvUqAwaiDBap0+DqyyFgeWfa90b3O6LlAf
|
||||
BeKin4lq8TEVL1CCehRSILAgd0nQQYHeJvLwpvZNl4t2TBFk5e/Xd4gHdszum4Ms
|
||||
aJ0qc2G61ep5vE5z11Ca2vWLEG1Org+iVtZuMZcsCtPhFjyHE1PRU1s0ApoIXZxt
|
||||
z35pgz5PSldPpOk4nuUKIhLLTpNLNd4fgbPiHhyqJloTMsOEycZ+W5Em2Ib2/kxx
|
||||
0GIjAy5A9IlezALKengZ4NjHFwcddcP6+2rFgBTY/7KhhGNyOghwSIIJOdp0BQwD
|
||||
bSN26e5WpYT+gja44QZ44KdMpOcxH8Qt0lJmjULizxcbYTPMsoPF3Jszm0E5auOQ
|
||||
y2cixDEfmioqgJ4KKS6AIXd/yfLEvsGEU1Zz1a1yDQz12ZhzBa/GtoQRhzWErspR
|
||||
7kMPiGKQEhQowB7vHfiCmVhx89RWPwZFFyLz92jS11ZGpeBlWF4hMSefQR7sFWLi
|
||||
rYw0LOyMyFyz9P60ZKX18LHltxsrsteJA7zARcS0uv112O7wSTX1k44s5fiaWlVR
|
||||
Ciuchcp0eTcsYa4Jiz4yZNnJhRi7tnsQJOXYF4IjGAxnJoBLSUUt2uEWtMg09m5F
|
||||
vgrCNcc8HFy1hIIHy0l5CaLJY/5x9Z1Lg2dbwVP7+goTRogRGvpdjy7/eMlQEAgm
|
||||
HMtsuQINBFRFM3EBEADCohKTxy3JYJ3dPzxhD/76nX0zkyvuhepVXAkpzjhWSx9r
|
||||
9RQSB6WLnczlZVriQKVPR6RZ7fn4XhLim3v9e9c188R1WeUvuHWaJXDAvBWFarLu
|
||||
y7kd1ZRpS0UWWE+k/WBruT5rEqjpW4Un/7WINsr972Ic7IFiv5ISUC7h/ylym5T1
|
||||
w15WRZnMF96tLmMjzGdqJYrbu7Y4ZPYr5VwWnd9hE9Cal3YMMsfcXlIWOzw7BRDO
|
||||
aWmMsWyFiVkwCeAZOSYthu4Qdo3bSlGo5C46JuRcdU1ZimZKztC1qlihiju7oWfa
|
||||
3hJT/uWFu06IAdcI6lq4yEb+iG73BNUGNMDzpTeWLW7Q3IByZ/e9/DzFJcjsDf5N
|
||||
jCzJGxAtEJ28egrZe6/Fk6yBwE0+nzUmOPU3qqi57aFFajfdV89SoQwKG83IpNJl
|
||||
L9vbE62Iljm0DNK3VEotw9OMc6B3z6TfatVclqLFTH5Q+4rNcCytpK747loGVJcP
|
||||
KFs1FzFj+hW2MkFcnY1JbuaSuyrhPVpg4Z1bjxLVLdlisYm0AL+n+z0tmFO45XJ2
|
||||
mS06ckpqFAhk5HOOMOd/9+Qi3p9orE6dFM+TIWnxDphpws43O+FSYM8OJk7saGos
|
||||
DNMvm9C0oz07MwMuthkLmSBsWmkZYXrvkUY1lrTdpyqqs11qllBZ1PsRATKeIQAR
|
||||
AQABiQIlBBgBAgAPBQJURTNxAhsMBQkB4TOAAAoJEBmdmbHa07ZwQl4P/2FH+4Sa
|
||||
JJgaNGoyyo1Oh1Xd1OMHf++V7FpXxHHmgEv6bTz3E8xHTMA7Zm1iBIPGrIo2loKe
|
||||
49p3gbGFtvZLLT31Tg+usUN62QntKYOIiztdjsxzTskBgJH+A4Ucz7O1NsN6GQXF
|
||||
QgGFlEpWApXCK8ogNp6ntwxGCyOFvZujuJjSFUZcpNEGhOYhYuKvo18qboP3RgVy
|
||||
o74FPtPvh3YMz9DLRXeVbhhIq0oejek5z0aOXEjgZipVO4U7uDO5EVcG57jIVfiI
|
||||
WM681KHG/Djx64GmSi9wo+P687Ib7+UHSzBTeEm9YVRNNSQFbuvxqq9XhDctkkbZ
|
||||
m/QRbQXJFPQJcDOLLH06JNQ+/KvT8uwduiBFs2x77qKrVCxqCQU8XwY+KnyGouf9
|
||||
sLdxDZwGoXFbnCyRKFH+fqoIMdcYzIT/VvGswTCNqSOvDxnSNO9REVbdsIJwenqt
|
||||
QetRR7SVYKfcyLMCtMek3Fgst85khwP8tIYAEerE+XN04b1FfD3mjqvgBdUY7IDM
|
||||
W1NVRTtjlX46ltNvtERO8JGYMqlRW/wpDXQzRxryNY7frXA+fhog2L53cOK/Fwc8
|
||||
UcbLubQPkh/6+w4SybT2F8otOB1J8KZ0tzbTd5JxuX0V0AD8OjH+uuN67r5bQBk9
|
||||
ARVlLqDOpHP01PW6WUQta2xAQ2mshuQZTX1H
|
||||
=3Y/D
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
201
LICENSE
Normal file
201
LICENSE
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright {yyyy} {name of copyright owner}
|
||||
|
||||
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
|
||||
|
||||
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.
|
73
README.md
Normal file
73
README.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# [](#features) Alfresco SDK
|
||||
|
||||
This is the home of the Alfresco SDK. The Alfresco SDK is used by developers to build extensions for the Alfresco content management system. It is based on [Apache Maven](http://maven.apache.org/), compatible with major IDEs and enables Rapid Application Development (RAD) and Test Driven Development (TDD).
|
||||
|
||||
## License
|
||||
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). If you are an Enterprise customer check the [Support](#alfresco-enterprise-customers-and-partners-support) section.
|
||||
|
||||
## News
|
||||
- 2015-05-20: SDK 2.1.0 released to Maven Central. Docs for [Community](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html), [Enterprise](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html), [Release notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/latest/github-report.html)
|
||||
- 2014-12-23: SDK 2.0.0 release to Maven Central. [Docs](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html), [Release Notes](https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-sdk-aggregator/archive/2.0.0/github-report.htm)
|
||||
- 2014-08-22: First SNAPSHOT of SDK 2.0.0 in the [OSS Sonatype Repository](https://oss.sonatype.org/content/repositories/snapshots/org/alfresco/maven/alfresco-sdk-parent/2.0.0-SNAPSHOT/)!
|
||||
- 2014-07: Project fully migrated from [Google Code](https://code.google.com/p/maven-alfresco-archetypes).
|
||||
|
||||
## User Getting Started
|
||||
|
||||
### Latest Documentation
|
||||
To get started with Alfresco SDK 2.1 (latest) visit the offical Alfresco Documentation for:
|
||||
|
||||
- [Alfresco Community 5.0.d and above](http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html)
|
||||
- [Alfresco Enterprise 5.0.1 and above](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-intro.html)
|
||||
|
||||
#### Previous versions Documentation
|
||||
- Documentation for [Alfresco SDK 2.0](http://docs.alfresco.com/sdk2.0/concepts/alfresco-sdk-intro.html) (compatible with Alfresco 5.0.d Community and 5.0.0 Enterprise)
|
||||
- Documentation for [Alfresco SDK 1.1.1](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html) (compatible with Alfresco 4.2)
|
||||
|
||||
### Samples
|
||||
Sample extension projects that use the SDK, maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
|
||||
|
||||
### Command reference
|
||||
A list of supported features and commands, explanation of Maven profiles and commands is kept in the [Alfresco Official Docs](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-cmd-reference.html).
|
||||
|
||||
### Want to get up to speed quickly in Eclipse? Check out this video!
|
||||
|
||||
[](https://www.youtube.com/watch?v=utYZaVe9Nd0)
|
||||
|
||||
## Reporting Issues and Community Support
|
||||
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open). You can also join the [Alfresco list on Google Groups](https://groups.google.com/forum/#!forum/maven-alfresco) or join us on the [IRC Channel](http://chat.alfresco.com/).
|
||||
|
||||
## Alfresco Enterprise Customers and Partners Support
|
||||
If you are an Alfresco Customer please check the [SDK Support status](http://www.alfresco.com/services/subscription/technical-support/product-support-status) for the version you are using and the [Compatibily Matrix](http://docs.alfresco.com/community/concepts/alfresco-sdk-compatibility.html) for the SDK / Alfresco compatibility. If your version is in Limited or Full Support, you can raise issues via the [Support Portal](http://support.alfresco.com).
|
||||
|
||||
## Maven repositories
|
||||
- As of version 2.0-beta-1, The Alfresco SDK is released in [Maven Central](http://search.maven.org/#search|ga|1|alfresco-sdk). Previous versions are available in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
||||
- Alfresco (Community and Enterprise) artifacts are hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/).
|
||||
- Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
|
||||
|
||||
*NOTE:* For Enterprise and Premiere licensed software access you need to get credential via the Alfresco Enterprise Support. See [Maven Alfresco Enterprise setup](http://docs.alfresco.com/5.0/concepts/alfresco-sdk-using-enterprise-edition.html).
|
||||
|
||||
### Alfresco Artifacts Repository
|
||||
|
||||
#### Alfresco Releases
|
||||
You can use the following snippet in your pom.xml to access releases on Alfresco Artifact repository:
|
||||
|
||||
```xml
|
||||
<repository>
|
||||
<id>alfresco-public</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||
</repository>
|
||||
```
|
||||
|
||||
#### SDK Snapshots
|
||||
To test new unreleased (unsupported) features, you can use the following snippet in your pom.xml to access SDK nightlies (SNAPSHOTS) from the OSS Sonatype repository:
|
||||
|
||||
```xml
|
||||
<repository>
|
||||
<id>oss-sonatype-snapshots</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
```
|
||||
|
||||
## For Developers that want to contribute to the SDK
|
||||
See the [Developers Wiki page](https://github.com/Alfresco/alfresco-sdk/wiki/Developer-Wiki).
|
||||
|
199
README.txt
199
README.txt
@@ -1,199 +0,0 @@
|
||||
This document needs updating...
|
||||
|
||||
Archetypes using the SDK can be generated with:
|
||||
|
||||
mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public-snapshots/archetype-catalog.xml
|
||||
|
||||
**********
|
||||
Disclaimer
|
||||
**********
|
||||
|
||||
This codebase is currently work in progress; the effort have been split in three directions:
|
||||
a) The definition of 2 POM files that can handle versions and common build behaviors/features
|
||||
b) The writing of an alfresco-maven-plugin to enable amp-to-war overlay provided by Alfresco
|
||||
Repository built-in features (ModuleManagementTool) and replace the maven-amp-plugin (big
|
||||
rewriting of the maven-war-plugin)
|
||||
c) The definition of (initially 2) archetypes that show some simple project's configuration using
|
||||
the parent POMs
|
||||
|
||||
Most of the build features have been successfully ported to a new structure, whose main advantage is
|
||||
to keep pom.xml files extremely simple and readable (since a lot of logic have been moved to the parent).
|
||||
Inherited behaviours are configurable simply defining specific properties in the project's or module's pom.xml
|
||||
(see documentation below).
|
||||
|
||||
Here follows a list of build features that have not been ported yet:
|
||||
- Maven SCM and release
|
||||
- JBoss run
|
||||
- Tomcat remote deployment
|
||||
- Jetty Java source and resources reloading (Jetty currently runs .war files)
|
||||
- Maven Site generation
|
||||
- Maven reporting
|
||||
- Maven distributionManagement
|
||||
|
||||
Apart from SCM and release, all the mentioned features are probably best suited for a more enterprise archetype,
|
||||
using the Alfresco Web Integration POM as parent and adding more build features around Maven, Tomcat and JBoss.
|
||||
|
||||
Regarding the POM files, I'd like to see them deployed on maven.alfresco.com, hopefully generated (by the
|
||||
Alfresco build?) and tested for each Alfresco release.
|
||||
|
||||
--- oOo ---
|
||||
|
||||
*************
|
||||
Prerequisites
|
||||
*************
|
||||
|
||||
- Maven 3.0.3 (official binary distribution from maven.apache.org)
|
||||
|
||||
--- oOo ---
|
||||
|
||||
*************
|
||||
Build and Run
|
||||
*************
|
||||
|
||||
-----
|
||||
Build
|
||||
-----
|
||||
All the steps that follow are necessary because neither POMs nor
|
||||
alfresco-maven-plugin are yet available on maven.alfresco.com; as soon
|
||||
as their implementation is consolidated, you will be able to skip
|
||||
this first part and just enjoy the second.
|
||||
---
|
||||
mvn clean install
|
||||
(with empty repository, Maven will download 365Mb)
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
Run
|
||||
---
|
||||
cd archetypes/quickstart-allinone-archetype
|
||||
MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m" mvn clean package -Drun
|
||||
-> http://localhost:8080/alfresco and http://localhost:8080/share
|
||||
--- OR
|
||||
cd archetypes/quickstart-amp-archetype
|
||||
MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m" mvn clean package -Drun-amp
|
||||
-> http://localhost:8080/quickstart-amp-archetype
|
||||
---
|
||||
|
||||
--- oOo ---
|
||||
|
||||
**********
|
||||
Archetypes
|
||||
**********
|
||||
|
||||
---------------------------
|
||||
ALFRESCO ALLINONE ARCHETYPE
|
||||
---------------------------
|
||||
- run mvn clean install to package all apps
|
||||
- run mvn clean install -Prun to run the full platform embedded in Jetty/H2
|
||||
---
|
||||
|
||||
---
|
||||
ALFRESCO AMP ARCHETYPE
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
--- oOo ---
|
||||
|
||||
*********
|
||||
POM files
|
||||
*********
|
||||
|
||||
-------------------------------
|
||||
ALFRESCO PLATFORM POM
|
||||
-------------------------------
|
||||
* Describes the Alfresco platform. Lives in the Alfresco SVN and gets deployed at every release.
|
||||
* DependencyManagement for all Alfresco commonly used JAR/WAR/AMP artifacts
|
||||
* IInherits alfresco-developer-parent POM
|
||||
|
||||
---
|
||||
ALFRESCO DEVELOPER PARENT POM
|
||||
---
|
||||
* Alfresco Repository Log and storage cleaning
|
||||
---
|
||||
Activation: built-in
|
||||
---
|
||||
When mvn clean is invoked, all files produced by Maven runs must be removed; this is the list of
|
||||
filesets inherited from alfresco-developer-parent:
|
||||
* target/ (default behaviour)
|
||||
* *.log
|
||||
* ${alfresco.data.location}
|
||||
---
|
||||
Properties
|
||||
---
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location>
|
||||
---
|
||||
|
||||
---
|
||||
* AMP overlay into an Alfresco (or Share) Extension
|
||||
---
|
||||
Activation: built-in
|
||||
---
|
||||
When your project (or sub-module) is a <packaging>war</packaging>, you can automatically include one or more
|
||||
AMP files by defining the dependencies into the pom.xml, as follows:
|
||||
<dependency>
|
||||
<groupId>com.mycompany</groupId>
|
||||
<artifactId>amp-module</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
The AMP files will be overlayed on top of your current WAR customizations, therefore
|
||||
they can override the content of the original WAR.
|
||||
---
|
||||
|
||||
---
|
||||
* Multi-environment property filtering
|
||||
---
|
||||
Activation: exists src/main/properties
|
||||
---
|
||||
You can enable multi-environment property filtering by simply creating the
|
||||
src/main/properties/${env}/${webapp.resource.filter} file with your property values;
|
||||
all files included in src/main/resources and src/main/properties will be filtered
|
||||
with your properties defined; in order to switch between environments,
|
||||
simply attach -Denv=yourenv to your mvn commands.
|
||||
---
|
||||
Properties
|
||||
---
|
||||
<env>local</env>
|
||||
<webapp.resource.filter>alfresco-global.properties</webapp.resource.filter>
|
||||
<webapp.resource.build.folder>${project.build.outputDirectory}</webapp.resource.build.folder>
|
||||
<webapp.name>${project.artifactId}</webapp.name>
|
||||
---
|
||||
|
||||
---
|
||||
* Jetty H2 configuration
|
||||
---
|
||||
Activation: exists jetty/jetty.xml
|
||||
---
|
||||
You can enable Jetty to run your application(s); by default Jetty will run all contexts
|
||||
using jetty/jetty.xml as Jetty Server configuration, allowing to add the jndi resource
|
||||
needed to start Alfresco Repository webapp; if you want to run multiple webapps - for
|
||||
example share and alfresco - follow the example listed below:
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run</id>
|
||||
<goals><goal>run</goal></goals>
|
||||
<phase>package</phase>
|
||||
<configuration>
|
||||
<contextPath>/</contextPath>
|
||||
<webAppSourceDirectory>.</webAppSourceDirectory>
|
||||
<webXml>jetty/root-web.xml</webXml>
|
||||
<contextHandlers>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../alfresco/target/alfresco.war</war>
|
||||
<contextPath>/alfresco</contextPath>
|
||||
</contextHandler>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../share/target/share.war</war>
|
||||
<contextPath>/share</contextPath>
|
||||
</contextHandler>
|
||||
</contextHandlers>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
---
|
42
TODO.txt
42
TODO.txt
@@ -1,42 +0,0 @@
|
||||
Short term (pre 4.x release):
|
||||
-----------------------------
|
||||
- Generate archetypes for sample projects
|
||||
- Cleanup issues
|
||||
- Release
|
||||
- Testing against 1 Community and 1 Enterprise version
|
||||
- Documentation, documentation, documentation
|
||||
- Maven Site
|
||||
- https://wiki.alfresco.com/index.php?title=Maven_Alfresco_SDK (from scratch)
|
||||
- http://code.google.com/p/maven-alfresco-archetypes/
|
||||
|
||||
Mid term (post 4.x release):
|
||||
----------------------------
|
||||
- More archetypes
|
||||
|
||||
**************************************************
|
||||
Enterprise Supported Archetypes (aka Advanced Use)
|
||||
**************************************************
|
||||
|
||||
If you have built integration projects with Alfresco, you're familiar with Maven and you have a case study in mind,
|
||||
wondering how to integrate it with your software development around the product, you can start from the Alfresco
|
||||
Enterprise archetype suite:
|
||||
|
||||
1.
|
||||
mvn archetype:generate \
|
||||
-DarchetypeGroupId=org.alfresco.enterprise \
|
||||
-DarchetypeArtifactId=supported-alfresco-archetype \
|
||||
-DarchetypeVersion=1.0 \
|
||||
-DgroupId=com.someco \
|
||||
-DartifactId=alfresco-enterprise \
|
||||
-Dversion=1.0-SNAPSHOT \
|
||||
-DarchetypeRepository=http://maven.alfresco.com/nexus/content/repositories/releases \
|
||||
-DinteractiveMode=false
|
||||
|
||||
2.
|
||||
cd alfresco-enterprise && MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m" mvn package -Drun
|
||||
|
||||
Run the following command if you want to have a list of the available archetypes:
|
||||
|
||||
mvn archetype:generate \
|
||||
-DarchetypeCatalog=http://maven.alfresco.com/nexus/content/repositories/releases/archetype-catalog.xml
|
||||
|
@@ -5,14 +5,54 @@
|
||||
<groupId>org.alfresco.maven.archetype</groupId>
|
||||
<artifactId>alfresco-allinone-archetype</artifactId>
|
||||
<packaging>maven-archetype</packaging>
|
||||
<name>All-in-One Archetype from Maven Alfresco SDK</name>
|
||||
<description>Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository, AMP, Share, Solr, Web Quick Start and embedded Jetty run</description>
|
||||
<name>Maven Alfresco SDK - All-in-One Archetype</name>
|
||||
<description>Sample multi-module project for All-in-One development on the Alfresco plaftorm. Includes modules for: Repository WAR overlay, Repository AMP, Share WAR overlay, Solr configuration, and embedded Tomcat runner</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-lifecycle-aggregator</artifactId>
|
||||
<version>1.0</version>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.1.1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>archetype-resources/pom.xml</include>
|
||||
<include>archetype-resources/run.sh</include>
|
||||
<include>archetype-resources/run.bat</include>
|
||||
<include>archetype-resources/runner/src/main/webapp/index.html</include>
|
||||
<include>META-INF/maven/archetype-metadata.xml</include>
|
||||
</includes>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>archetype-resources/pom.xml</exclude>
|
||||
<exclude>archetype-resources/run.sh</exclude>
|
||||
<exclude>archetype-resources/run.bat</exclude>
|
||||
<exclude>archetype-resources/runner/src/main/webapp/index.html</exclude>
|
||||
<exclude>META-INF/maven/archetype-metadata.xml</exclude>
|
||||
</excludes>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.7</version>
|
||||
<configuration>
|
||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||
<delimiters>
|
||||
<delimiter>@@</delimiter>
|
||||
</delimiters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
@@ -1,154 +1,187 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archetype-descriptor xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" name="quickstart-allinone-archetype"
|
||||
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<requiredProperties>
|
||||
<requiredProperty key="version">
|
||||
<defaultValue>1.0-SNAPSHOT</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_groupId">
|
||||
<defaultValue>org.alfresco</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_version">
|
||||
<defaultValue>4.2.b</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="package">
|
||||
<defaultValue>(not used)</defaultValue>
|
||||
</requiredProperty>
|
||||
</requiredProperties>
|
||||
<modules>
|
||||
<module id="amp" dir="amp" name="amp">
|
||||
<fileSets>
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>jetty</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="alfresco" dir="alfresco" name="alfresco">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/webapp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="solr" dir="solr" name="solr" filtered="false">
|
||||
<fileSets>
|
||||
<archetype-descriptor
|
||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd"
|
||||
name="All In One Archetype for Alfresco. Provides rapid development, IDE integration, and running embedded of Alfresco Repo, Share and Solr"
|
||||
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<requiredProperties>
|
||||
<requiredProperty key="version">
|
||||
<defaultValue>1.0-SNAPSHOT</defaultValue>
|
||||
</requiredProperty>
|
||||
</requiredProperties>
|
||||
<modules>
|
||||
<module id="repo-amp" dir="repo-amp" name="repo-amp">
|
||||
<fileSets>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/test/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*-context.xml</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**/*-context.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
|
||||
<module id="share-amp" dir="share-amp" name="share-amp">
|
||||
<fileSets>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/test/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/web-extension</directory>
|
||||
<includes>
|
||||
<include>__artifactId__-slingshot-application-context.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/web-extension/site-data/extensions</directory>
|
||||
<includes>
|
||||
<include>__artifactId__-example-widgets.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/__artifactId__-slingshot-application-context.xml</exclude>
|
||||
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
|
||||
<module id="repo" dir="repo" name="repo">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/main/resources/alfresco/extension</directory>
|
||||
<includes>
|
||||
<include>dev-log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/dev-log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
|
||||
<module id="solr4" dir="solr-config" name="solr4" filtered="false">
|
||||
</module>
|
||||
|
||||
<module id="share" dir="share" name="share" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
|
||||
<module id="runner" dir="runner" name="runner" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>test-ng</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/webapp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
</modules>
|
||||
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src/main/solr-properties</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<directory></directory>
|
||||
<includes>
|
||||
<include>run.sh</include>
|
||||
<include>run.bat</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/webapp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="share" dir="share" name="share" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src/main/webapp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src/main/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="wcmqs" dir="wcmqs" name="share" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src/main/webapp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/webapp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="runner" dir="runner" name="runner" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>jetty</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
</modules>
|
||||
</fileSets>
|
||||
</archetype-descriptor>
|
||||
|
@@ -1,87 +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 and Explorer Client</name>
|
||||
<packaging>war</packaging>
|
||||
<description>Alfresco Repository and Explorer Client</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 on the AMP developed in the 'amp' project -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>amp</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
<!-- Demonstrating the usage of a well known GA AMP (Web Quick Start Repository component) -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-wcm-quickstart-repo</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 -->
|
||||
<overlay/>
|
||||
<!-- The Alfresco WAR -->
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco</artifactId>
|
||||
<type>war</type>
|
||||
<!-- To allow inclusion of META-INF -->
|
||||
<excludes/>
|
||||
</overlay>
|
||||
<!-- Add / order your AMPs here -->
|
||||
<overlay>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>amp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-wcm-quickstart-repo</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
@@ -1,308 +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
|
||||
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.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
|
@@ -1,265 +0,0 @@
|
||||
# This is a full override of Alfresco 4.2.b log4j.properties
|
||||
# This file overwrites the alfresco.war log4j.properties
|
||||
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=${app.log.root.level}, Console, File
|
||||
|
||||
###### Console appender definition #######
|
||||
|
||||
# All outputs currently set to be a ConsoleAppender.
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
|
||||
# use log4j NDC to replace %x with tenant domain / username
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
|
||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
###### File appender definition #######
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=${app.log.dir}alfresco.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
###### Hibernate specific appender definition #######
|
||||
#log4j.appender.file=org.apache.log4j.FileAppender
|
||||
#log4j.appender.file.File=hibernate.log
|
||||
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||
|
||||
###### Log level overrides #######
|
||||
|
||||
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
|
||||
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
|
||||
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
|
||||
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
|
||||
|
||||
# Hibernate
|
||||
log4j.logger.org.hibernate=error
|
||||
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
|
||||
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
|
||||
log4j.logger.org.hibernate.type=warn
|
||||
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
|
||||
|
||||
# Spring
|
||||
log4j.logger.org.springframework=warn
|
||||
# Turn off Spring remoting warnings that should really be info or debug.
|
||||
log4j.logger.org.springframework.remoting.support=error
|
||||
log4j.logger.org.springframework.util=error
|
||||
|
||||
# Axis/WSS4J
|
||||
log4j.logger.org.apache.axis=info
|
||||
log4j.logger.org.apache.ws=info
|
||||
|
||||
# CXF
|
||||
log4j.logger.org.apache.cxf=error
|
||||
|
||||
# MyFaces
|
||||
log4j.logger.org.apache.myfaces.util.DebugUtils=info
|
||||
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
|
||||
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
|
||||
log4j.logger.org.apache.myfaces.taglib=error
|
||||
|
||||
# OpenOfficeConnection
|
||||
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
|
||||
|
||||
# log prepared statement cache activity ###
|
||||
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
||||
|
||||
# Alfresco
|
||||
log4j.logger.org.alfresco=error
|
||||
log4j.logger.org.alfresco.repo.admin=info
|
||||
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
|
||||
log4j.logger.org.alfresco.repo.model.filefolder=warn
|
||||
log4j.logger.org.alfresco.repo.tenant=info
|
||||
log4j.logger.org.alfresco.repo.avm=info
|
||||
log4j.logger.org.alfresco.config=warn
|
||||
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
|
||||
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
|
||||
log4j.logger.org.alfresco.repo.management.subsystems=warn
|
||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
|
||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
|
||||
log4j.logger.org.alfresco.repo.security.sync=info
|
||||
log4j.logger.org.alfresco.repo.security.person=info
|
||||
|
||||
log4j.logger.org.alfresco.sample=info
|
||||
log4j.logger.org.alfresco.web=info
|
||||
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
|
||||
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
|
||||
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
|
||||
#log4j.logger.org.alfresco.web.bean.clipboard=debug
|
||||
log4j.logger.org.alfresco.repo.webservice=info
|
||||
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
|
||||
#log4j.logger.org.alfresco.web.page=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
|
||||
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
|
||||
|
||||
log4j.logger.org.alfresco.web.ui.common.Utils=error
|
||||
#log4j.logger.org.alfresco.web.ui.common.Utils=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
|
||||
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
|
||||
|
||||
# Specific patches
|
||||
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
|
||||
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
|
||||
log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
|
||||
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
|
||||
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
|
||||
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
|
||||
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
|
||||
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
|
||||
log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info
|
||||
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
|
||||
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
|
||||
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
|
||||
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
|
||||
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
|
||||
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
|
||||
log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info
|
||||
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
|
||||
|
||||
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.workflow=info
|
||||
|
||||
# CIFS server debugging
|
||||
log4j.logger.org.alfresco.smb.protocol=error
|
||||
#log4j.logger.org.alfresco.smb.protocol.auth=debug
|
||||
#log4j.logger.org.alfresco.acegi=debug
|
||||
|
||||
# FTP server debugging
|
||||
log4j.logger.org.alfresco.ftp.protocol=error
|
||||
#log4j.logger.org.alfresco.ftp.server=debug
|
||||
|
||||
# WebDAV debugging
|
||||
#log4j.logger.org.alfresco.webdav.protocol=debug
|
||||
log4j.logger.org.alfresco.webdav.protocol=error
|
||||
|
||||
# NTLM servlet filters
|
||||
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
|
||||
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
|
||||
|
||||
# Kerberos servlet filters
|
||||
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
|
||||
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
|
||||
|
||||
# File servers
|
||||
log4j.logger.org.alfresco.fileserver=warn
|
||||
|
||||
# Repo filesystem debug logging
|
||||
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
|
||||
|
||||
# AVM filesystem debug logging
|
||||
#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug
|
||||
|
||||
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
|
||||
log4j.logger.org.alfresco.repo.node.integrity=ERROR
|
||||
|
||||
# Indexer debugging
|
||||
log4j.logger.org.alfresco.repo.search.Indexer=error
|
||||
#log4j.logger.org.alfresco.repo.search.Indexer=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
|
||||
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
|
||||
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
|
||||
|
||||
# Audit debugging
|
||||
# log4j.logger.org.alfresco.repo.audit=DEBUG
|
||||
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
|
||||
|
||||
# Forms debugging
|
||||
# log4j.logger.org.alfresco.web.forms=debug
|
||||
# log4j.logger.org.chiba.xml.xforms=debug
|
||||
log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error
|
||||
log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error
|
||||
|
||||
# Property sheet and modelling debugging
|
||||
# change to error to hide the warnings about missing properties and associations
|
||||
log4j.logger.alfresco.missingProperties=warn
|
||||
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
|
||||
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
|
||||
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
|
||||
|
||||
# Dictionary/Model debugging
|
||||
log4j.logger.org.alfresco.repo.dictionary=warn
|
||||
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
|
||||
|
||||
# Virtualization Server Registry
|
||||
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
|
||||
|
||||
# Spring context runtime property setter
|
||||
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
|
||||
|
||||
# Debugging options for clustering
|
||||
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
|
||||
log4j.logger.org.alfresco.repo.content.replication=error
|
||||
|
||||
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
|
||||
|
||||
# Activity service
|
||||
log4j.logger.org.alfresco.repo.activities=warn
|
||||
|
||||
# User usage tracking
|
||||
log4j.logger.org.alfresco.repo.usage=info
|
||||
|
||||
# Sharepoint
|
||||
log4j.logger.org.alfresco.module.vti=info
|
||||
|
||||
# Forms Engine
|
||||
log4j.logger.org.alfresco.repo.forms=info
|
||||
log4j.logger.org.alfresco.web.config.forms=info
|
||||
log4j.logger.org.alfresco.web.scripts.forms=info
|
||||
|
||||
# CMIS
|
||||
log4j.logger.org.alfresco.opencmis=error
|
||||
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
|
||||
log4j.logger.org.alfresco.cmis=error
|
||||
log4j.logger.org.alfresco.cmis.dictionary=warn
|
||||
log4j.logger.org.apache.chemistry.opencmis=info
|
||||
|
||||
# IMAP
|
||||
log4j.logger.org.alfresco.repo.imap=info
|
||||
|
||||
# JBPM
|
||||
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
|
||||
|
||||
#log4j.logger.org.alfresco.repo.googledocs=debug
|
||||
|
||||
###### Scripting #######
|
||||
|
||||
# Web Framework
|
||||
log4j.logger.org.springframework.extensions.webscripts=info
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
|
||||
|
||||
# Repository
|
||||
log4j.logger.org.alfresco.repo.web.scripts=warn
|
||||
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
|
||||
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
|
||||
log4j.logger.org.alfresco.repo.jscript=error
|
||||
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
|
||||
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.avm.actions=info
|
||||
|
||||
# Freemarker
|
||||
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.freemarker.runtime=
|
||||
|
||||
# Metadata extraction
|
||||
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
|
||||
|
||||
# Reduces PDFont error level due to ALF-7105
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
|
||||
|
||||
# no index support
|
||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
|
||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
|
@@ -1,911 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
|
||||
<!DOCTYPE web-app PUBLIC
|
||||
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
||||
"http://java.sun.com/dtd/web-app_2_3.dtd">
|
||||
|
||||
<web-app>
|
||||
<display-name>Alfresco Web Client</display-name>
|
||||
|
||||
<description>Alfresco Web Client</description>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
|
||||
<param-value>true</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
|
||||
<param-value>server</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>javax.faces.PARTIAL_STATE_SAVING_METHOD</param-name>
|
||||
<param-value>false</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>javax.faces.CONFIG_FILES</param-name>
|
||||
<param-value>/WEB-INF/faces-config-app.xml,/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-navigation.xml,/WEB-INF/faces-config-common.xml,/WEB-INF/faces-config-repo.xml,/WEB-INF/faces-config-wcm.xml,/WEB-INF/faces-config-custom.xml</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
|
||||
<param-value>true</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
|
||||
<param-value>false</param-value>
|
||||
<description>This is an EXPERIMENTAL feature, so leave it off for now!</description>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>
|
||||
<param-value>false</param-value>
|
||||
<description>Stop MyFaces from Serializing the state to the session</description>
|
||||
</context-param>
|
||||
|
||||
<!-- TODO: Change this to false for production -->
|
||||
<context-param>
|
||||
<param-name>org.apache.myfaces.PRETTY_HTML</param-name>
|
||||
<param-value>true</param-value>
|
||||
<description>
|
||||
If true, rendered HTML code will be formatted, so that it is "human readable".
|
||||
i.e. additional line separators and whitespace will be written, that do not
|
||||
influence the HTML code.
|
||||
Default: "true"
|
||||
</description>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
|
||||
<param-value>false</param-value>
|
||||
<description>
|
||||
If true, a javascript function will be rendered that is able to restore the
|
||||
former vertical scroll on every request. Convenient feature if you have pages
|
||||
with long lists and you do not want the browser page to always jump to the top
|
||||
if you trigger a link or button action that stays on the same page.
|
||||
Default: "false"
|
||||
</description>
|
||||
</context-param>
|
||||
|
||||
<!-- Spring Application Context location -->
|
||||
<context-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>/WEB-INF/web-application-context.xml</param-value>
|
||||
<description>Spring config file location</description>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>log4jExposeWebAppRoot</param-name>
|
||||
<param-value>false</param-value>
|
||||
<description>Do not try to resolve web app root as file</description>
|
||||
</context-param>
|
||||
|
||||
<!-- These were previously init params for the WebDAV servlet,
|
||||
but since they are also needed to MT-enable the
|
||||
ExternalAccess servlet, I have made them context wide. -->
|
||||
<context-param>
|
||||
<param-name>store</param-name>
|
||||
<param-value>workspace://SpacesStore</param-value>
|
||||
</context-param>
|
||||
<context-param>
|
||||
<param-name>rootPath</param-name>
|
||||
<param-value>/app:company_home</param-value>
|
||||
</context-param>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
|
||||
<param-value>false</param-value>
|
||||
</context-param>
|
||||
|
||||
<!-- Activiti context param placeholder -->
|
||||
|
||||
<context-param>
|
||||
<param-name>com.ibm.ws.jsf.loadExternalDtd</param-name>
|
||||
<param-value>false</param-value>
|
||||
<description>Sets "http://apache.org/xml/features/nonvalidating/load-external-dtd" feature on the SAXParser to false if this parameter is false</description>
|
||||
</context-param>
|
||||
|
||||
<filter>
|
||||
<filter-name>Authentication Filter</filter-name>
|
||||
<description>Authentication filter mapped only to faces URLs. Other URLs generally use proprietary means to talk to the AuthenticationComponent</description>
|
||||
<filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>beanName</param-name>
|
||||
<param-value>AuthenticationFilter</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<description>Authentication filter mapped to all authenticated URLs. Mainly for SSO support</description>
|
||||
<filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>beanName</param-name>
|
||||
<param-value>GlobalAuthenticationFilter</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>WebScript Authentication Filter</filter-name>
|
||||
<description>Authentication filter mapped to web script URLs. Mainly for SSO support</description>
|
||||
<filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>beanName</param-name>
|
||||
<param-value>WebscriptAuthenticationFilter</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>WebDAV Authentication Filter</filter-name>
|
||||
<filter-class>org.alfresco.repo.web.filter.beans.BeanProxyFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>beanName</param-name>
|
||||
<param-value>WebDavAuthenticationFilter</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<filter-class>org.alfresco.web.app.servlet.AdminAuthenticationFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<description>Set HTTP cache Expires header 30 days forward for a mapping.</description>
|
||||
<filter-class>org.alfresco.web.scripts.servlet.StaticAssetCacheFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>expires</param-name>
|
||||
<param-value>30</param-value>
|
||||
<description>Add an Expires Header 30 days forward</description>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>Global Localization Filter</filter-name>
|
||||
<description>Sets fallback default locale for ALL requests</description>
|
||||
<filter-class>org.alfresco.web.app.servlet.GlobalLocalizationFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<filter-name>JSF Session Synchronized Filter</filter-name>
|
||||
<filter-class>org.alfresco.repo.web.filter.beans.SessionSynchronizedFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Localization Filter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/navigate/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/command/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/download/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/template/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/n/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/c/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/t/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/d/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- The WebScript Authentication filter sits in front of web service URLs in addition to the global authentication filter -->
|
||||
<filter-mapping>
|
||||
<filter-name>WebScript Authentication Filter</filter-name>
|
||||
<url-pattern>/wcservice/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>WebScript Authentication Filter</filter-name>
|
||||
<url-pattern>/wcs/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/wcservice/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/wcs/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/ajax/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Global Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>WebDAV Authentication Filter</filter-name>
|
||||
<url-pattern>/webdav/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/jsp/admin/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/jsp/categories/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/jsp/groups/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/jsp/users/delete-user.jsp</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/jsp/users/users.jsp</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Admin Authentication Filter</filter-name>
|
||||
<url-pattern>/faces/jsp/admin/system-info.jsp</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>JSF Session Synchronized Filter</filter-name>
|
||||
<url-pattern>/faces/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.jpg</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.png</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.gif</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.css</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.js</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- Spring Context Loader listener - can disable loading of context if runtime config changes are needed -->
|
||||
<listener>
|
||||
<listener-class>org.alfresco.web.app.ContextLoaderListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- Web Application Context listener - session create/destroy debugging and bootstrap Spring init -->
|
||||
<listener>
|
||||
<listener-class>org.alfresco.web.app.ContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- WebDAV session listener - ensures that no locked resources is left after session expires -->
|
||||
<listener>
|
||||
<listener-class>org.alfresco.repo.webdav.WebDAVSessionListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- Web Services context listener for OpenCMIS -->
|
||||
<listener>
|
||||
<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!-- Activiti listener placeholder -->
|
||||
|
||||
|
||||
<!-- Faces Servlet -->
|
||||
<servlet>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>uploadFile</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.UploadFileServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>uploadContent</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.UploadContentServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>downloadContent</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.DownloadContentServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>downloadRawContent</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.DownloadRawContentServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>guestDownloadContent</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.GuestDownloadContentServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>guestTemplateContent</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.GuestTemplateContentServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>externalAccess</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.ExternalAccessServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>templateContent</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.TemplateContentServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>commandServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.CommandServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>ajaxServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.ajax.AjaxServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>axis</servlet-name>
|
||||
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
|
||||
<load-on-startup>5</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>CXFServlet</servlet-name>
|
||||
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
|
||||
<load-on-startup>6</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>WebDAV</servlet-name>
|
||||
<servlet-class>org.alfresco.repo.webdav.WebDAVServlet</servlet-class>
|
||||
<load-on-startup>5</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>apiServlet</servlet-name>
|
||||
<servlet-class>org.springframework.extensions.webscripts.servlet.WebScriptServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>authenticator</param-name>
|
||||
<param-value>webscripts.authenticator.basic</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>wcapiServlet</servlet-name>
|
||||
<servlet-class>org.springframework.extensions.webscripts.servlet.WebScriptServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>authenticator</param-name>
|
||||
<param-value>webscripts.authenticator.webclient</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>portalapiServlet</servlet-name>
|
||||
<servlet-class>org.springframework.extensions.webscripts.servlet.WebScriptServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>authenticator</param-name>
|
||||
<param-value>webscripts.authenticator.webclient</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>facebookServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.repo.web.scripts.facebook.FacebookServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>authenticator</param-name>
|
||||
<param-value>webscripts.authenticator.facebook</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>fbapiServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.repo.web.scripts.facebook.FacebookAPIServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>authenticator</param-name>
|
||||
<param-value>webscripts.authenticator.facebook</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>proxyServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.HTTPProxyServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>workflowDefinitionImageServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.WorkflowDefinitionImageServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>JBPMDeployProcessServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.web.app.servlet.JBPMDeployProcessServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>CMISFileShareServlet</servlet-name>
|
||||
<servlet-class>org.apache.chemistry.opencmis.browser.BrowseServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>auxroot</param-name>
|
||||
<param-value>cmisfs/browser/</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>allow</param-name>
|
||||
<param-value>http.*</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>stylesheet:application/atomsvc+xml</param-name>
|
||||
<param-value>/cmisfs/stylesheets/service.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>stylesheet:application/atom+xml;type=feed</param-name>
|
||||
<param-value>/cmisfs/stylesheets/feed.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>stylesheet:application/cmistree+xml</param-name>
|
||||
<param-value>/cmisfs/stylesheets/feed.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>stylesheet:application/atom+xml;type=entry</param-name>
|
||||
<param-value>/cmisfs/stylesheets/entry.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>stylesheet:application/cmisallowableactions+xml</param-name>
|
||||
<param-value>/cmisfs/stylesheets/actions.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>stylesheet:application/cmisacl+xml</param-name>
|
||||
<param-value>/cmisfs/stylesheets/acl.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>override-stylesheet:renditions</param-name>
|
||||
<param-value>/cmisfs/stylesheets/renditions.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>override-stylesheet:relationships</param-name>
|
||||
<param-value>/cmisfs/stylesheets/relationships.xsl</param-value>
|
||||
</init-param>
|
||||
<init-param>
|
||||
<param-name>override-stylesheet:thumbnails</param-name>
|
||||
<param-value>/cmisfs/stylesheets/thumbnails.xsl</param-value>
|
||||
</init-param>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>cmisws</servlet-name>
|
||||
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
|
||||
<load-on-startup>7</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>cmisatom</servlet-name>
|
||||
<servlet-class>org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>callContextHandler</param-name>
|
||||
<param-value>org.apache.chemistry.opencmis.server.shared.BasicAuthCallContextHandler</param-value>
|
||||
</init-param>
|
||||
<load-on-startup>8</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>cmisbrowser</servlet-name>
|
||||
<servlet-class>org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>callContextHandler</param-name>
|
||||
<param-value>org.apache.chemistry.opencmis.server.shared.BasicAuthCallContextHandler</param-value>
|
||||
</init-param>
|
||||
<load-on-startup>8</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>cmistck</servlet-name>
|
||||
<servlet-class>org.apache.chemistry.opencmis.tck.runner.WebRunnerServlet</servlet-class>
|
||||
<load-on-startup>8</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>authenticatorServlet</servlet-name>
|
||||
<servlet-class>org.alfresco.repo.web.scripts.servlet.AuthenticatorServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- Activiti servlet placeholder -->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
<url-pattern>/faces/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>uploadFile</servlet-name>
|
||||
<url-pattern>/uploadFileServlet</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>uploadContent</servlet-name>
|
||||
<url-pattern>/upload/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>downloadContent</servlet-name>
|
||||
<url-pattern>/download/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>downloadContent</servlet-name>
|
||||
<url-pattern>/d/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>downloadRawContent</servlet-name>
|
||||
<url-pattern>/dr</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>guestDownloadContent</servlet-name>
|
||||
<url-pattern>/guestDownload/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>guestDownloadContent</servlet-name>
|
||||
<url-pattern>/gd/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>templateContent</servlet-name>
|
||||
<url-pattern>/template/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>templateContent</servlet-name>
|
||||
<url-pattern>/t/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>guestTemplateContent</servlet-name>
|
||||
<url-pattern>/guestTemplate/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>guestTemplateContent</servlet-name>
|
||||
<url-pattern>/gt/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>externalAccess</servlet-name>
|
||||
<url-pattern>/navigate/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>externalAccess</servlet-name>
|
||||
<url-pattern>/n/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>commandServlet</servlet-name>
|
||||
<url-pattern>/command/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>commandServlet</servlet-name>
|
||||
<url-pattern>/c/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>ajaxServlet</servlet-name>
|
||||
<url-pattern>/ajax/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>axis</servlet-name>
|
||||
<url-pattern>/api/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>CXFServlet</servlet-name>
|
||||
<url-pattern>/cmis/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>WebDAV</servlet-name>
|
||||
<url-pattern>/webdav/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>apiServlet</servlet-name>
|
||||
<url-pattern>/service/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>apiServlet</servlet-name>
|
||||
<url-pattern>/s/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>wcapiServlet</servlet-name>
|
||||
<url-pattern>/wcservice/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>wcapiServlet</servlet-name>
|
||||
<url-pattern>/wcs/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portalapiServlet</servlet-name>
|
||||
<url-pattern>/168service/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portalapiServlet</servlet-name>
|
||||
<url-pattern>/168s/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>facebookServlet</servlet-name>
|
||||
<url-pattern>/facebook/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>facebookServlet</servlet-name>
|
||||
<url-pattern>/fb/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>fbapiServlet</servlet-name>
|
||||
<url-pattern>/fbservice/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>fbapiServlet</servlet-name>
|
||||
<url-pattern>/fbs/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>proxyServlet</servlet-name>
|
||||
<url-pattern>/proxy</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>JBPMDeployProcessServlet</servlet-name>
|
||||
<url-pattern>/jbpm/deployprocess</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>workflowDefinitionImageServlet</servlet-name>
|
||||
<url-pattern>/workflowdefinitionimage/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>CMISFileShareServlet</servlet-name>
|
||||
<url-pattern>/cmisbrowse</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>cmisws</servlet-name>
|
||||
<url-pattern>/cmisws/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>cmisatom</servlet-name>
|
||||
<url-pattern>/cmisatom/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>cmisbrowser</servlet-name>
|
||||
<url-pattern>/cmisbrowser/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- The CMIS TCK is deactivated by default. -->
|
||||
<!-- CMISTCK
|
||||
<servlet-mapping>
|
||||
<servlet-name>cmistck</servlet-name>
|
||||
<url-pattern>/cmistck</url-pattern>
|
||||
</servlet-mapping>
|
||||
CMISTCK -->
|
||||
|
||||
<!-- Activiti servlet mapping placeholder -->
|
||||
|
||||
<session-config>
|
||||
<session-timeout>60</session-timeout>
|
||||
</session-config>
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>index.jsp</welcome-file>
|
||||
</welcome-file-list>
|
||||
|
||||
<error-page>
|
||||
<exception-type>java.lang.Exception</exception-type>
|
||||
<location>/jsp/error.jsp</location>
|
||||
</error-page>
|
||||
|
||||
<resource-ref>
|
||||
<description>The Alfresco database connection</description>
|
||||
<res-ref-name>jdbc/dataSource</res-ref-name>
|
||||
<res-type>javax.sql.DataSource</res-type>
|
||||
<res-auth>Container</res-auth>
|
||||
<res-sharing-scope>Unshareable</res-sharing-scope>
|
||||
</resource-ref>
|
||||
<!--
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>SOLR</web-resource-name>
|
||||
<url-pattern>/service/api/solr/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
|
||||
<auth-constraint>
|
||||
<role-name>repoclient</role-name>
|
||||
</auth-constraint>
|
||||
|
||||
<user-data-constraint>
|
||||
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
|
||||
</user-data-constraint>
|
||||
</security-constraint>
|
||||
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>SOLR</web-resource-name>
|
||||
<url-pattern>/s/api/solr/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
|
||||
<auth-constraint>
|
||||
<role-name>repoclient</role-name>
|
||||
</auth-constraint>
|
||||
|
||||
<user-data-constraint>
|
||||
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
|
||||
</user-data-constraint>
|
||||
</security-constraint>
|
||||
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>SOLR</web-resource-name>
|
||||
<url-pattern>/wcservice/api/solr/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
|
||||
<auth-constraint>
|
||||
<role-name>repoclient</role-name>
|
||||
</auth-constraint>
|
||||
|
||||
<user-data-constraint>
|
||||
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
|
||||
</user-data-constraint>
|
||||
</security-constraint>
|
||||
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
<web-resource-name>SOLR</web-resource-name>
|
||||
<url-pattern>/wcs/api/solr/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
|
||||
<auth-constraint>
|
||||
<role-name>repoclient</role-name>
|
||||
</auth-constraint>
|
||||
|
||||
<user-data-constraint>
|
||||
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
|
||||
</user-data-constraint>
|
||||
</security-constraint>
|
||||
|
||||
<login-config>
|
||||
<auth-method>CLIENT-CERT</auth-method>
|
||||
<realm-name>Repository</realm-name>
|
||||
</login-config>
|
||||
|
||||
<security-role>
|
||||
<role-name>repoclient</role-name>
|
||||
</security-role>
|
||||
-->
|
||||
|
||||
<env-entry>
|
||||
<description>A flag that globally enables or disables startup of the major Alfresco subsystems.</description>
|
||||
<env-entry-name>properties/startup.enable</env-entry-name>
|
||||
<env-entry-value>true</env-entry-value>
|
||||
<env-entry-type>java.lang.Boolean</env-entry-type>
|
||||
</env-entry>
|
||||
|
||||
<env-entry>
|
||||
<description>The filesystem directory below which content and index data is stored. Should be on a shared disk
|
||||
if this is a clustered installation.</description>
|
||||
<env-entry-name>properties/dir.root</env-entry-name>
|
||||
<env-entry-value/> <!-- Empty value included for JBoss compatibility -->
|
||||
<env-entry-type>java.lang.String</env-entry-type>
|
||||
</env-entry>
|
||||
|
||||
<env-entry>
|
||||
<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</description>
|
||||
<env-entry-name>properties/hibernate.dialect</env-entry-name>
|
||||
<env-entry-value/> <!-- Empty value included for JBoss compatibility -->
|
||||
<env-entry-type>java.lang.String</env-entry-type>
|
||||
</env-entry>
|
||||
|
||||
<env-entry>
|
||||
<description>Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to "true
|
||||
TRUE, false FALSE".</description>
|
||||
<env-entry-name>properties/hibernate.query.substitutions</env-entry-name>
|
||||
<env-entry-value/> <!-- Empty value included for JBoss compatibility -->
|
||||
<env-entry-type>java.lang.String</env-entry-type>
|
||||
</env-entry>
|
||||
|
||||
<env-entry>
|
||||
<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. </description>
|
||||
<env-entry-name>properties/hibernate.jdbc.use_get_generated_keys</env-entry-name>
|
||||
<env-entry-value/> <!-- Empty value included for JBoss compatibility -->
|
||||
<env-entry-type>java.lang.String</env-entry-type>
|
||||
</env-entry>
|
||||
|
||||
<env-entry>
|
||||
<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.</description>
|
||||
<env-entry-name>properties/hibernate.default_schema</env-entry-name>
|
||||
<env-entry-value/> <!-- Empty value included for JBoss compatibility -->
|
||||
<env-entry-type>java.lang.String</env-entry-type>
|
||||
</env-entry>
|
||||
|
||||
</web-app>
|
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
|
||||
|
||||
<Configure id="Server" class="org.mortbay.jetty.Server">
|
||||
<New id="myDataSource"
|
||||
class="org.mortbay.jetty.plus.naming.Resource">
|
||||
<Arg>jdbc/dataSource</Arg>
|
||||
<Arg>
|
||||
<New class="${alfresco.db.datasource.class}">
|
||||
<Set name="URL">${alfresco.db.url}</Set>
|
||||
<Set name="User">${alfresco.db.username}</Set>
|
||||
<Set name="Password">${alfresco.db.password}</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
</New>
|
||||
</Configure>
|
@@ -1,37 +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 AMP Module</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>This is a sample AMP project, depended upon by the alfresco WAR module</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>
|
||||
<!-- This property allow to switch Repo AMP vs Share AMP.
|
||||
Set alfresco.client.war=share to run this AMP against Share
|
||||
-->
|
||||
<alfresco.client.war>alfresco</alfresco.client.war>
|
||||
</properties>
|
||||
|
||||
</project>
|
@@ -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 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,66 +1,90 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
<name>Quickstart of Alfresco and Share with DB and runner embedded</name>
|
||||
<description>This All-in-One project allows to manage all the components involved in Alfresco development (Repo, Share, Solr, AMPs) in one project</description>
|
||||
<packaging>pom</packaging>
|
||||
<name>Alfresco Repository and Share Quickstart with database and an embedded Tomcat runner.</name>
|
||||
<description>This All-in-One project allows to manage all the components involved in Alfresco development (Repo, Share, Solr4, AMPs) in one project
|
||||
</description>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-parent</artifactId>
|
||||
<version>1.0</version>
|
||||
<version>@@alfresco.sdk.parent.version@@</version>
|
||||
</parent>
|
||||
|
||||
<!--
|
||||
| SDK properties have sensible defaults in the SDK parent,
|
||||
| but you can override the properties below to use another version.
|
||||
| For more available properties see the alfresco-sdk-parent POM.
|
||||
|
||||
<!--
|
||||
SDK properties have sensible defaults in the SDK parent,
|
||||
but you can override the properties below to use another version.
|
||||
For more available properties see the alfresco-sdk-parent POM.
|
||||
-->
|
||||
<properties>
|
||||
<alfresco.groupId>${alfresco_target_groupId}</alfresco.groupId>
|
||||
<alfresco.version>${alfresco_target_version}</alfresco.version>
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location>
|
||||
<!-- This controls which properties will be picked in src/test/properties for embedded run -->
|
||||
<!-- The following are default values for data location, Alfresco Community version, and Records Management Module version.
|
||||
Uncomment if you need to change (Note. current default version for Enterprise edition is @@alfresco.enterprise.default.version@@)
|
||||
<alfresco.version>@@alfresco.community.default.version@@</alfresco.version>
|
||||
<alfresco.rm.version>@@alfresco.rm.version@@</alfresco.rm.version>
|
||||
<alfresco.data.location>/absolute/path/to/alf_data_dev</alfresco.data.location> -->
|
||||
|
||||
<!-- This control the root logging level for all apps uncomment and change, defaults to WARN
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
-->
|
||||
|
||||
<!-- Set the enviroment to use, this controls which properties will be picked in src/test/properties
|
||||
for embedded run, defaults to the 'local' environment. See SDK Parent POM for more info.
|
||||
<env>local</env>
|
||||
-->
|
||||
|
||||
<!-- The Alfresco Share web application is accessible via this URL -->
|
||||
<share.client.url>http://localhost:8080/share</share.client.url>
|
||||
</properties>
|
||||
|
||||
<!-- Here we realize the connection with the Alfresco selected platform (e.g.version and edition) -->
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco plaftorm
|
||||
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
|
||||
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement.
|
||||
NOTE: It defaults to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-platform-distribution</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<!--
|
||||
No more repos are needed since they will be inherited by the parent POM.
|
||||
This is needed to download the alfresco-plaftorm POM.
|
||||
-->
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>alfresco-artifacts</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-artifacts-snapshots</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||
<snapshots>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
<!-- Here we realize the connection with the Alfresco selected platform (e.g.version and edition) -->
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco plaftorm
|
||||
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
|
||||
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement.
|
||||
NOTE: It defaults to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-platform-distribution</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Compress JavaScript files and store as *-min.js -->
|
||||
<plugin>
|
||||
<groupId>net.alchim31.maven</groupId>
|
||||
<artifactId>yuicompressor-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.alfresco.maven.plugin</groupId>
|
||||
<artifactId>alfresco-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<!-- Invoke your build with -Prun to run the multimodule project and enable rapid dev mode in your IDE.
|
||||
See 'run' profile in the sub modules pom.xml for further behavioral details.
|
||||
-->
|
||||
<id>run</id>
|
||||
<properties>
|
||||
<!-- While running in rapid dev mode with -Prun, we don't want amp web resources
|
||||
to be added to the war, so we can load them directly from the AMP project (see
|
||||
runner/tomcat/context-*.xml for more details) -->
|
||||
<maven.alfresco.includeWebResources>false</maven.alfresco.includeWebResources>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
|
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco Repository AMP Module</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>This is a sample Alfresco repository AMP project, depended upon by the alfresco WAR aggregator</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<!-- Property overrides are mostly done in parent pom -->
|
||||
</properties>
|
||||
|
||||
<!-- Following dependencies are needed for compiling Java code in src/main/java;
|
||||
<scope>provided</scope> is inherited for each of the following;
|
||||
for more info, please refer to alfresco-platform-distribution POM -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Uncomment if you are using RM (Records Management) module, brings in RM related classes -->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm</artifactId>
|
||||
<version>${alfresco.rm.version}</version>
|
||||
<classifier>classes</classifier>
|
||||
</dependency>
|
||||
-->
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
|
||||
<!--
|
||||
Brings in the extra Enterprise specific repository classes,
|
||||
if the 'enterprise' profile has been activated, needs to be activated manually. -->
|
||||
<profile>
|
||||
<id>enterprise</id>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-enterprise-repository</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
<!-- If we are running in embedded Tomcat skip unit tests -->
|
||||
<profile>
|
||||
<id>run</id>
|
||||
<properties>
|
||||
<skipTests>true</skipTests>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
@@ -0,0 +1,7 @@
|
||||
<webscript>
|
||||
<shortname>Hello World Sample Webscript</shortname>
|
||||
<description>Hands back a greeting</description>
|
||||
<url>/sample/helloworld</url>
|
||||
<authentication>user</authentication>
|
||||
<format default="html"></format>
|
||||
</webscript>
|
@@ -0,0 +1 @@
|
||||
Message: ${fromJS} ${fromJava}
|
@@ -0,0 +1 @@
|
||||
model["fromJS"] = "Hello World from JS!";
|
@@ -0,0 +1,5 @@
|
||||
## This Alfresco Repo Configuration file should be used for custom properties that are introduced by this module.
|
||||
## Define default values for all properties here.
|
||||
## System Administrators can override these values in environment specific configurations in
|
||||
## alfresco/tomcat/shared/classes/alfresco-global.properties.
|
||||
##
|
@@ -0,0 +1,27 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
|
||||
|
||||
<!-- The bootstrap-context.xml file is used for patch definitions, importers,
|
||||
workflow, and loading custom content models. -->
|
||||
|
||||
|
||||
<!-- Registration of new models -->
|
||||
<bean id="${package}.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
|
||||
<property name="models">
|
||||
<list>
|
||||
<value>alfresco/module/${project.artifactId}/model/content-model.xml</value>
|
||||
<value>alfresco/module/${project.artifactId}/model/workflow-model.xml</value>
|
||||
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
|
||||
|
||||
</beans>
|
@@ -0,0 +1,42 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<beans>
|
||||
|
||||
<!-- A simple class that is initialized by Spring -->
|
||||
<bean id="${package}.exampleBean" class="${package}.demoamp.Demo" init-method="init" />
|
||||
|
||||
<!-- A simple module component that will be executed once.
|
||||
Note. this module component will only be executed once, and then there will be an entry for it in the Repo.
|
||||
So doing for example $ mvn clean install -Prun twice will only execute this component the first time.
|
||||
You need to remove /alf_data_dev for it to be executed again. -->
|
||||
<bean id="${package}.exampleComponent" class="${package}.demoamp.DemoComponent" parent="module.baseComponent" >
|
||||
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
|
||||
<property name="name" value="exampleComponent" />
|
||||
<property name="description" value="A demonstration component" />
|
||||
<property name="sinceVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="1.0" />
|
||||
<property name="nodeService" ref="NodeService" />
|
||||
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||
</bean>
|
||||
|
||||
|
||||
</beans>
|
@@ -1,25 +1,27 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
<import resource="classpath:alfresco/module/${artifactId}/context/service-context.xml" />
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<beans>
|
||||
<bean id="webscript.helloworld.get"
|
||||
class="${package}.demoamp.HelloWorldWebScript"
|
||||
parent="webscript">
|
||||
</bean>
|
||||
</beans>
|
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<model name="myc:contentModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
|
||||
<!-- Optional meta-data about the model -->
|
||||
<description>Document Model for Repo Extension X</description>
|
||||
<author>My Name</author>
|
||||
<version>1.0</version>
|
||||
|
||||
<imports>
|
||||
<!-- Import Alfresco Dictionary Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||
<!-- Import Alfresco Content Domain Model Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||
<!-- Import Alfresco System Model Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
|
||||
</imports>
|
||||
|
||||
<!-- Custom namespace for your domain -->
|
||||
<namespaces>
|
||||
<namespace uri="http://www.mycompany.com/model/content/1.0" prefix="myc"/>
|
||||
</namespaces>
|
||||
|
||||
<!-- ===============================================================================================================
|
||||
Constraints, Types, and Aspects go here...
|
||||
-->
|
||||
|
||||
</model>
|
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<model name="myw:workflowModel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
|
||||
<!-- Optional meta-data about the model -->
|
||||
<description>Workflow Model for Repo Extension X</description>
|
||||
<author>My Name</author>
|
||||
<version>1.0</version>
|
||||
|
||||
<imports>
|
||||
<!-- Import Alfresco Dictionary Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
|
||||
<!-- Import Alfresco Content Domain Model Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
|
||||
<!-- Import Alfresco Workflow Model Definitions -->
|
||||
<import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/>
|
||||
</imports>
|
||||
|
||||
<!-- Custom namespace for your domain -->
|
||||
<namespaces>
|
||||
<namespace uri="http://www.mycompany.com/model/workflow/1.0" prefix="myw"/>
|
||||
</namespaces>
|
||||
|
||||
<!-- ===============================================================================================================
|
||||
Constraints, Types, and Aspects go here...
|
||||
-->
|
||||
</model>
|
||||
|
@@ -1,5 +1,4 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
@@ -16,19 +15,14 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
<beans>
|
||||
|
||||
<!-- A simple class that is initialized by Spring -->
|
||||
<bean id="changeMe.exampleBean" class="org.alfresco.demoamp.Demo" init-method="init" />
|
||||
|
||||
<!-- A simple module component that will be executed once -->
|
||||
<bean id="changeMe.exampleComponent" class="org.alfresco.demoamp.DemoComponent" parent="module.baseComponent" >
|
||||
<property name="moduleId" value="${project.artifactId}" /> <!-- See module.properties -->
|
||||
<property name="name" value="exampleComponent" />
|
||||
<property name="description" value="A demonstration component" />
|
||||
<property name="sinceVersion" value="2.0" />
|
||||
<property name="appliesFromVersion" value="2.0" />
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
-->
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- This is filtered by Maven at build time, so that module name is single sourced. -->
|
||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/service-context.xml" />
|
||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/bootstrap-context.xml" />
|
||||
<import resource="classpath:alfresco/module/${project.artifactId}/context/webscript-context.xml" />
|
||||
|
||||
</beans>
|
@@ -13,4 +13,5 @@
|
||||
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,8 +1,11 @@
|
||||
package org.alfresco.demoamp;
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
package ${package}.demoamp;
|
||||
|
||||
/**
|
||||
* This class does nothing except dump some output to <i>system.out</i>.
|
||||
* This is a sample taken from Alfresco SDK
|
||||
* This is a sample taken from Maven Alfresco SDK
|
||||
*
|
||||
* @author Derek Hulley
|
||||
*/
|
@@ -1,80 +1,78 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
package org.alfresco.demoamp;
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
package ${package}.demoamp;
|
||||
|
||||
import org.alfresco.model.ContentModel;
|
||||
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.alfresco.service.cmr.repository.StoreRef;
|
||||
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
|
||||
* Uses the NodeLocatorService to easily find nodes and the
|
||||
* NodeService to display them
|
||||
*
|
||||
*
|
||||
* @author Gabriele Columbro
|
||||
* @author Maurizio Pillitu
|
||||
*/
|
||||
public class DemoComponent extends AbstractModuleComponent
|
||||
{
|
||||
public class DemoComponent extends AbstractModuleComponent {
|
||||
Log log = LogFactory.getLog(DemoComponent.class);
|
||||
|
||||
|
||||
private NodeService nodeService;
|
||||
|
||||
|
||||
private NodeLocatorService nodeLocatorService;
|
||||
|
||||
public void setNodeService(NodeService nodeService) {
|
||||
this.nodeService = nodeService;
|
||||
}
|
||||
|
||||
|
||||
public void setNodeLocatorService(NodeLocatorService nodeLocatorService) {
|
||||
this.nodeLocatorService = nodeLocatorService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bogus component execution
|
||||
* Bogus component execution
|
||||
*/
|
||||
@Override
|
||||
protected void executeInternal() throws Throwable
|
||||
{
|
||||
protected void executeInternal() throws Throwable {
|
||||
System.out.println("DemoComponent has been executed");
|
||||
log.debug("Test debug logging. Congratulation your AMP is working");
|
||||
log.info("This is only for information purposed. Better remove me from the log in Production");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is a demo service interaction with Alfresco Foundation API.
|
||||
* This sample method returns the number of child nodes of a certain type
|
||||
* This sample method returns the number of child nodes of a certain type
|
||||
* under a certain node.
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public int childNodesCount(NodeRef nodeRef)
|
||||
{
|
||||
public int childNodesCount(NodeRef nodeRef) {
|
||||
return nodeService.countChildAssocs(nodeRef, true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the NodeRef of "Company Home"
|
||||
*
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public NodeRef getCompanyHome()
|
@@ -0,0 +1,43 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
package ${package}.demoamp;
|
||||
|
||||
import org.springframework.extensions.webscripts.Cache;
|
||||
import org.springframework.extensions.webscripts.DeclarativeWebScript;
|
||||
import org.springframework.extensions.webscripts.Status;
|
||||
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* A demonstration Java controller for the Hello World Web Script.
|
||||
*
|
||||
* @author martin.bergljung@alfresco.com
|
||||
* @since 2.1.0
|
||||
*/
|
||||
public class HelloWorldWebScript extends DeclarativeWebScript {
|
||||
protected Map<String, Object> executeImpl(
|
||||
WebScriptRequest req, Status status, Cache cache) {
|
||||
Map<String, Object> model = new HashMap<String, Object>();
|
||||
model.put("fromJava", "HelloFromJava");
|
||||
return model;
|
||||
}
|
||||
}
|
@@ -0,0 +1,86 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
package ${package}.demoamp.test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import ${package}.demoamp.DemoComponent;
|
||||
import org.alfresco.model.ContentModel;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.NodeService;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
import com.tradeshift.test.remote.Remote;
|
||||
import com.tradeshift.test.remote.RemoteTestRunner;
|
||||
|
||||
/**
|
||||
* A simple class demonstrating how to run out-of-container tests
|
||||
* loading Alfresco application context.
|
||||
*
|
||||
* This class uses the RemoteTestRunner to try and connect to
|
||||
* localhost:4578 and send the test name and method to be executed on
|
||||
* a running Alfresco. One or more hostnames can be configured in the @Remote
|
||||
* annotation.
|
||||
*
|
||||
* If there is no available remote server to run the test, it falls
|
||||
* back on local running of JUnits.
|
||||
*
|
||||
* For proper functioning the test class file must match exactly
|
||||
* the one deployed in the webapp (either via JRebel or static deployment)
|
||||
* otherwise "incompatible magic value XXXXX" class error loading issues will arise.
|
||||
*
|
||||
* @author Gabriele Columbro
|
||||
* @author Maurizio Pillitu
|
||||
*
|
||||
*/
|
||||
@RunWith(RemoteTestRunner.class)
|
||||
@Remote(runnerClass=SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration("classpath:alfresco/application-context.xml")
|
||||
public class DemoComponentTest {
|
||||
|
||||
private static final String ADMIN_USER_NAME = "admin";
|
||||
|
||||
static Logger log = Logger.getLogger(DemoComponentTest.class);
|
||||
|
||||
@Autowired
|
||||
protected DemoComponent demoComponent;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("NodeService")
|
||||
protected NodeService nodeService;
|
||||
|
||||
@Test
|
||||
public void testWiring() {
|
||||
assertNotNull(demoComponent);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetCompanyHome() {
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(ADMIN_USER_NAME);
|
||||
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||
assertNotNull(companyHome);
|
||||
String companyHomeName = (String) nodeService.getProperty(companyHome, ContentModel.PROP_NAME);
|
||||
assertNotNull(companyHomeName);
|
||||
assertEquals("Company Home", companyHomeName);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testChildNodesCount() {
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(ADMIN_USER_NAME);
|
||||
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||
int childNodeCount = demoComponent.childNodesCount(companyHome);
|
||||
assertNotNull(childNodeCount);
|
||||
// There are 7 folders by default under Company Home
|
||||
assertEquals(7, childNodeCount);
|
||||
}
|
||||
|
||||
}
|
@@ -13,23 +13,20 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
# Sample custom content and index data location
|
||||
# This will create alf_data Relative to appserver run folder
|
||||
# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# This will create the alf_data_dev directory relative to Tomcat run folder.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
dir.root=${alfresco.data.location}
|
||||
# Allowed values are: NONE, AUTO, FULL
|
||||
index.recovery.mode=NONE
|
||||
# This is default. Allowed values are: solr, lucene, noindex
|
||||
index.subsystem.name=solr
|
||||
|
||||
#dir.keystore=.
|
||||
#keystore.password=storepassword
|
||||
#metadata.password=metapassword
|
||||
# Use Solr4 as that is used by default with Alfresco 5
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
@@ -41,17 +38,9 @@ db.username=${alfresco.db.username}
|
||||
db.password=${alfresco.db.password}
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# File servers related properties
|
||||
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
|
||||
smb.server.enabled=false
|
||||
smb.server.name=CFS_SHARE_LOCAL
|
||||
smb.server.domain=mycompany.com
|
||||
smb.server.bindto=127.0.0.1
|
||||
smb.tcpip.port=1445
|
||||
netbios.session.port=1139
|
||||
netbios.name.port=1137
|
||||
netbios.datagram.port=1138
|
||||
ftp.server.enables=false
|
||||
ftp.port=1121
|
||||
ftp.authenticator=alfresco
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -0,0 +1,53 @@
|
||||
<?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>
|
||||
<!-- This disables javascript compilation so that webscripts can be hot reloaded -->
|
||||
<bean id="javaScriptProcessor" class="org.alfresco.repo.jscript.RhinoScriptProcessor" init-method="register">
|
||||
<property name="name">
|
||||
<value>javascript</value>
|
||||
</property>
|
||||
<property name="extension">
|
||||
<value>js</value>
|
||||
</property>
|
||||
<!-- compile javascript and cache compiled scripts -->
|
||||
<property name="compile">
|
||||
<value>false</value>
|
||||
</property>
|
||||
<!-- allow sharing of sealed scopes for performance -->
|
||||
<!-- disable to give each script it's own new scope which can be extended -->
|
||||
<property name="shareSealedScopes">
|
||||
<value>true</value>
|
||||
</property>
|
||||
<property name="scriptService">
|
||||
<ref bean="scriptService"/>
|
||||
</property>
|
||||
<!-- Creates ScriptNodes which require the ServiceRegistry -->
|
||||
<property name="serviceRegistry">
|
||||
<ref bean="ServiceRegistry"/>
|
||||
</property>
|
||||
<property name="storeUrl">
|
||||
<value>${spaces.store}</value>
|
||||
</property>
|
||||
<property name="storePath">
|
||||
<value>${spaces.company_home.childname}</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
|
||||
</beans>
|
@@ -0,0 +1,184 @@
|
||||
<?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>
|
||||
|
||||
<properties>
|
||||
<!-- During development we set log root level to Debug,
|
||||
this will be applicable to the log configuration in
|
||||
repo/src/main/resources/alfresco/extension/dev-log4j.properties,
|
||||
such as DemoComponent logging. -->
|
||||
<app.log.root.level>DEBUG</app.log.root.level>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>${alfresco.repo.artifactId}</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<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>
|
||||
<!-- Uncomment if you are using SPP (SharePoint Protocol Support) for Online Edit etc -->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-spp</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
-->
|
||||
<!-- Uncomment if you are using the RM (Records Management) module. -->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm</artifactId>
|
||||
<version>${alfresco.rm.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.repo.artifactId}</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>
|
||||
<!-- Uncomment if you are using SPP -->
|
||||
<!--
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-spp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
-->
|
||||
<!-- Uncomment if you are using RM -->
|
||||
<!--
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
-->
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<!-- Overrides the run profile to disable securecomms and add rapid development configuration -->
|
||||
<profile>
|
||||
<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>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-rad</artifactId>
|
||||
<version>${maven.alfresco.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
@@ -0,0 +1,78 @@
|
||||
# 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
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# This will create the alf_data_dev directory relative to Tomcat run folder.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
# Use Solr4 as that is used by default with Alfresco 5
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Setting Solr backup for the future. Tweak this if needed (ideally in other env properties files)
|
||||
solr.backup.alfresco.cronExpression=0 30 2 * * ? 2050
|
||||
solr.backup.archive.cronExpression=0 30 3 * * ? 2050
|
||||
solr.backup.alfresco.remoteBackupLocation=${dir.root}/solr4Backup/alfresco
|
||||
solr.backup.archive.remoteBackupLocation=${dir.root}/solr4Backup/archive
|
||||
|
||||
# We are in the local DEV properties file, no need for Solr backup
|
||||
solr.backup.alfresco.numberToKeep=0
|
||||
solr.backup.archive.numberToKeep=0
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we 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
|
||||
|
||||
# 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
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -0,0 +1,6 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# You can add here custom log4j classes. This will be merged with the main log4j.properties
|
||||
# See http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#Best_Log4j_Configuration_Practices
|
||||
log4j.logger.${package}.demoamp.DemoComponent=${app.log.root.level}
|
@@ -0,0 +1,15 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
set springloadedfile=%HOME%\.m2\repository\org\springframework\springloaded\@@springloaded.version@@\springloaded-@@springloaded.version@@.jar
|
||||
|
||||
if not exist %springloadedfile% (
|
||||
mvn validate -Psetup
|
||||
)
|
||||
|
||||
set MAVEN_OPTS=-javaagent:"%springloadedfile%" -noverify -Xms256m -Xmx2G
|
||||
|
||||
mvn clean install -Prun -nsu
|
||||
:: mvn install -Prun
|
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# Downloads the spring-loaded lib if not existing and runs the full all-in-one
|
||||
# (Alfresco + Share + Solr) using the runner project
|
||||
springloadedfile=~/.m2/repository/org/springframework/springloaded/@@springloaded.version@@/springloaded-@@springloaded.version@@.jar
|
||||
|
||||
if [ ! -f $springloadedfile ]; then
|
||||
mvn validate -Psetup
|
||||
fi
|
||||
MAVEN_OPTS="-javaagent:$springloadedfile -noverify -Xms256m -Xmx2G" mvn clean install -Prun
|
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
|
||||
|
||||
<Configure id="Server" class="org.mortbay.jetty.Server">
|
||||
<New id="myDataSource" class="org.mortbay.jetty.plus.naming.Resource">
|
||||
<Arg>jdbc/dataSource</Arg>
|
||||
<Arg>
|
||||
<New class="${alfresco.db.datasource.class}">
|
||||
<Set name="URL">${alfresco.db.url}</Set>
|
||||
<Set name="User">${alfresco.db.username}</Set>
|
||||
<Set name="Password">${alfresco.db.password}</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
</New>
|
||||
<Call name="addConnector">
|
||||
<Arg>
|
||||
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
|
||||
<Set name="host">
|
||||
<Property name="jetty.host" default="${runner.host}" />
|
||||
</Set>
|
||||
<Set name="port">
|
||||
<Property name="jetty.port" default="${runner.port}" />
|
||||
</Set>
|
||||
<Set name="maxIdleTime">300000</Set>
|
||||
<Set name="Acceptors">2</Set>
|
||||
<Set name="statsOn">false</Set>
|
||||
<Set name="confidentialPort">8443</Set>
|
||||
<Set name="lowResourcesConnections">20000</Set>
|
||||
<Set name="lowResourcesMaxIdleTime">5000</Set>
|
||||
</New>
|
||||
</Arg>
|
||||
</Call>
|
||||
|
||||
</Configure>
|
@@ -1,10 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
|
||||
<!DOCTYPE web-app PUBLIC
|
||||
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
||||
"http://java.sun.com/dtd/web-app_2_3.dtd">
|
||||
|
||||
<web-app>
|
||||
<display-name>Alfresco Runner</display-name>
|
||||
<description>Alfresco Runner</description>
|
||||
</web-app>
|
@@ -2,9 +2,9 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco and Share Runner</name>
|
||||
<name>Alfresco, Share and Solr4 Tomcat Runner</name>
|
||||
<packaging>pom</packaging>
|
||||
<description>Alfresco and Share Runner</description>
|
||||
<description>Alfresco, Share and Solr4 Tomcat Runner</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
@@ -15,62 +15,407 @@
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>run</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>run</name>
|
||||
</property>
|
||||
</activation>
|
||||
|
||||
<!-- TODO: figure out a way to define these properties in a parent POM, they are now also duplicated
|
||||
in the solr-config/pom.xml -->
|
||||
<properties>
|
||||
<alfresco.solr.dir>${project.basedir}/../solr/solr_home</alfresco.solr.dir>
|
||||
<runner.host>127.0.0.1</runner.host>
|
||||
<runner.port>8080</runner.port>
|
||||
<alfresco.solr.dir>${alfresco.data.location}/solr4</alfresco.solr.dir>
|
||||
<alfresco.solr.home.dir>${alfresco.solr.dir}/config</alfresco.solr.home.dir>
|
||||
<alfresco.solr.data.dir>${alfresco.solr.dir}/data</alfresco.solr.data.dir>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Copy and filter webapp context files - output dir is runner/target/contexts -->
|
||||
<plugin>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>maven-jetty-plugin</artifactId>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run</id>
|
||||
<goals><goal>run</goal></goals>
|
||||
<phase>integration-test</phase>
|
||||
<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>
|
||||
|
||||
<!-- Run Tomcat 7 embedded with Alfresco.war and Share.war contexts.
|
||||
The solr4.war is fetched directly from the Maven repo, it is not built like the other WARs.
|
||||
Plugin version is picked up from alfresco-sdk-parent.pom pluginManagement definition,
|
||||
which also brings in the H2 database lib -->
|
||||
<plugin>
|
||||
<groupId>org.apache.tomcat.maven</groupId>
|
||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run-wars</id>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<phase>pre-integration-test</phase>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<!-- Following 3 properties set an empty ROOT context,
|
||||
which is mandatory to run jetty:run plugin -->
|
||||
<contextPath>/</contextPath>
|
||||
<webAppSourceDirectory>.</webAppSourceDirectory>
|
||||
<webXml>jetty/root-web.xml</webXml>
|
||||
<contextHandlers>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../alfresco/target/alfresco.war</war>
|
||||
<contextPath>/alfresco</contextPath>
|
||||
</contextHandler>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${alfresco.solr.dir}/apache-solr-1.4.1-overlay.war</war>
|
||||
<contextPath>/solr</contextPath>
|
||||
</contextHandler>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../share/target/share.war</war>
|
||||
<contextPath>/share</contextPath>
|
||||
</contextHandler>
|
||||
<contextHandler implementation="org.mortbay.jetty.webapp.WebAppContext">
|
||||
<war>${project.basedir}/../wcmqs/target/wcmqs.war</war>
|
||||
<contextPath>/wcmqs</contextPath>
|
||||
</contextHandler>
|
||||
</contextHandlers>
|
||||
<ignorePackaging>true</ignorePackaging>
|
||||
<!-- Make sure Catalina classes are picked up when we got virtual webapp contexts with classpaths -->
|
||||
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
|
||||
<path>/</path>
|
||||
<systemProperties>
|
||||
<systemProperty>
|
||||
<name>solr.solr.home</name>
|
||||
<value>${alfresco.solr.dir}</value>
|
||||
</systemProperty>
|
||||
<solr.solr.home>${alfresco.solr.home.dir}</solr.solr.home>
|
||||
</systemProperties>
|
||||
<!-- Should this class loader delegate to the parent class loader before searching its
|
||||
own repositories (i.e. the usual Java2 delegation model) -->
|
||||
<!-- Prevent parent classloader delegation, each webapp loads.
|
||||
If set to true then you will get a truckload of Solr logging as
|
||||
the alf_data_dev/solr4/config/log4j-solr.properties file is not picked up.
|
||||
This also fixes issues with the Google Guava Library, which this tomcat plugin uses
|
||||
version 10.0.1 of but Solr uses 14.0.1 -->
|
||||
<delegate>false</delegate>
|
||||
<webapps>
|
||||
<webapp>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>repo</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>war</type>
|
||||
<!-- Make sure webapp is loaded with context and everything,
|
||||
if set to 'false' then you will get 404 when trying to access the webapp from browser -->
|
||||
<asWebapp>true</asWebapp>
|
||||
<contextPath>/alfresco</contextPath>
|
||||
<contextFile>${project.build.directory}/contexts/context-repo.xml</contextFile>
|
||||
</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>
|
||||
<webapp>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-solr4</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>war</type>
|
||||
<asWebapp>true</asWebapp>
|
||||
<contextPath>/solr4</contextPath>
|
||||
<contextFile>${project.build.directory}/contexts/context-solr.xml</contextFile>
|
||||
</webapp>
|
||||
</webapps>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- Runs Share User Interface regression tests using Alfresco Share PO (Page Object) vanilla Selenium / Webdrone (WebDriver wrapper).
|
||||
NOTE: Assumes an already running Alfresco + Share at the default location ${share.client.url}
|
||||
(e.g. by invoking:
|
||||
$ mvn clean install -Prun,regression-testing
|
||||
to run a specific test do:
|
||||
$ mvn clean install -Prun,regression-testing -Dit.test=LoginPageTest
|
||||
-->
|
||||
<profile>
|
||||
<id>regression-testing</id>
|
||||
<properties>
|
||||
<!-- Re-configure Tomcat 7 Plugin (see run profile) to fork so we can run tests in parallel -->
|
||||
<!-- Note. the fork option does not fork a new JVM. Rather it is run in a thread created by the
|
||||
Maven Launcher class (org.codehaus.plexus.classworlds.launcher.Launcher) that is invoked by the mvn command. -->
|
||||
<maven.tomcat.fork>true</maven.tomcat.fork>
|
||||
|
||||
<!-- Make sure we are actually testing something -->
|
||||
<skipTests>false</skipTests>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Need to unpack the tests becuase of Jiras: -->
|
||||
<!-- https://jira.codehaus.org/browse/SUREFIRE-997 -->
|
||||
<!-- https://jira.codehaus.org/browse/SUREFIRE-1024 -->
|
||||
<!-- Workaround for classloading issue in share-po (need to unpack it)-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-regression-test-resources</id>
|
||||
<phase>pre-integration-test</phase>
|
||||
<goals>
|
||||
<goal>unpack</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifact>${alfresco.groupId}:share-po:${alfresco.version}:jar:tests</artifact>
|
||||
<outputDirectory>${project.build.directory}/testng-resources</outputDirectory>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>2.18.1</version>
|
||||
<configuration>
|
||||
<suiteXmlFiles>
|
||||
<!-- Smaller test suite for Share, essential stuff like Login, Navigation, DocLib, and Search -->
|
||||
<!-- Currently using our own config to be able to comment out one test class
|
||||
<suiteXmlFile>${project.build.directory}/testng-resources/testng-alfresco-share.xml</suiteXmlFile> -->
|
||||
<suiteXmlFile>${project.basedir}/test-ng/testng-alfresco-share.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
<testClassesDirectory>${project.build.directory}/testng-resources</testClassesDirectory>
|
||||
<systemPropertyVariables>
|
||||
<!-- Where is the Alfresco Share Webapp that we are testing -->
|
||||
<share.target>${share.client.url}</share.target>
|
||||
</systemPropertyVariables>
|
||||
|
||||
<!-- The out-of-the-box Alfresco Share PO test classes does not follow the *IT.java
|
||||
naming convention, they use *Test.java, so need to add that -->
|
||||
<includes>
|
||||
<include>**/*Test.java</include>
|
||||
</includes>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>regression-tests</id>
|
||||
<phase>integration-test</phase>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>verify-tests</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<!-- Bring in the Share Page Objects (PO) used in the regression tests -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Bring in the Share Page Object (PO) regression tests that comes with Alfresco.
|
||||
These tests cover the Alfresco Share Web Application -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Make sure we are running with newer selenium that works with newest FF (newer than 2.39.0) -->
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>servlet-api-2.5</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Test NG is defined with test scope in share-po, so need it here too -->
|
||||
<!-- Alfresco code creates a wrapper around Test NG -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco.test</groupId>
|
||||
<artifactId>alfresco-testng</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
<!-- Runs functional domain specific tests using Alfresco Share PO (Page Object) vanilla Selenium / Webdrone (WebDriver wrapper).
|
||||
NOTE: Assumes an already running Alfresco + Share at the default location ${share.client.url}
|
||||
(e.g. by invoking:
|
||||
$ mvn clean install -Prun,functional-testing
|
||||
to run a specific test do:
|
||||
$ mvn clean install -Prun,functional-testing -Dit.test=DemoPageTestIT
|
||||
-->
|
||||
<profile>
|
||||
<id>functional-testing</id>
|
||||
<properties>
|
||||
<!-- Re-configure Tomcat 7 Plugin (see run profile) to fork so we can run tests in parallel -->
|
||||
<!-- Note. the fork option does not fork a new JVM. Rather it is run in a thread created by the
|
||||
Maven Launcher class (org.codehaus.plexus.classworlds.launcher.Launcher) that is invoked by the mvn command. -->
|
||||
<maven.tomcat.fork>true</maven.tomcat.fork>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>2.18.1</version>
|
||||
<configuration>
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>${project.parent.basedir}/share-amp/target/test-classes/testng.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
<testClassesDirectory>${project.parent.basedir}/share-amp/target/test-classes</testClassesDirectory>
|
||||
<systemPropertyVariables>
|
||||
<!-- Where is the Alfresco Share Webapp that we are testing -->
|
||||
<share.target>${share.client.url}</share.target>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>functional-tests</id>
|
||||
<phase>integration-test</phase>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>verify-tests</id>
|
||||
<phase>verify</phase>
|
||||
<goals>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
|
||||
Without it TestNG cannot load our test class when it uses page objects such as LoginPage -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
|
||||
the org.alfresco.po.share.AbstractTest class that our custom tests extend.
|
||||
Without it TestNG cannot load our test class -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here in this profile -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Make sure we are running with newer selenium that works with newest FF (newer than 2.39.0) -->
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.mortbay.jetty</groupId>
|
||||
<artifactId>servlet-api-2.5</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
<!-- Test NG is defined with test scope in share-po, so need it here too -->
|
||||
<!-- Alfresco code creates a wrapper around Test NG -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco.test</groupId>
|
||||
<artifactId>alfresco-testng</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
|
||||
</profiles>
|
||||
</project>
|
||||
|
@@ -0,0 +1,24 @@
|
||||
<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="/solr4">Alfresco Solr4</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>
|
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite thread-count="1" parallel="tests" preserve-order="true" verbose="6" name="Alfresco Share UI Basic Regression Test">
|
||||
<groups>
|
||||
<run>
|
||||
<include name="unit"/>
|
||||
<include name="alfresco-one"/>
|
||||
<exclude name=".*Bug42"/>
|
||||
<exclude name=".*Bug"/>
|
||||
<exclude name="chromeOnly"/>
|
||||
<exclude name="Hybrid"/>
|
||||
<exclude name="download"/>
|
||||
<exclude name="communityIssue"/>
|
||||
</run>
|
||||
</groups>
|
||||
<test name="LoginPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.LoginPageTest" />
|
||||
</classes>
|
||||
</test>
|
||||
<test name="NavigationBarTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.NavigationBarTest" />
|
||||
</classes>
|
||||
</test>
|
||||
<test name="LiveSearchDropdownTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.search.LiveSearchDropdownTest" />
|
||||
</classes>
|
||||
</test>
|
||||
<test name="FacetedSearchResultsPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.search.FacetedSearchResultsPageTest" />
|
||||
</classes>
|
||||
</test>
|
||||
<test name="DocumentDetailsPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.DocumentDetailsPageTest"/>
|
||||
</classes>
|
||||
</test>
|
||||
<!-- TODO: fix this, currently does not work
|
||||
<test name="DocumentLibraryPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.DocumentLibraryPageTest"/>
|
||||
</classes>
|
||||
</test>
|
||||
-->
|
||||
<test name="FileDirectoryInfoTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.FileDirectoryInfoTest">
|
||||
<methods>
|
||||
<!-- these currently take longer than 60 seconds for page rendering... -->
|
||||
<exclude name="test107TagsForFolder" />
|
||||
<exclude name="test114TagsForFile" />
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="FolderDetailsPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.FolderDetailsPageTest"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="ManagePermissionsTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.document.ManagePermissionsTest"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="InviteMembersPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.InviteMembersPageTest" />
|
||||
</classes>
|
||||
</test>
|
||||
<test name="SiteFinderPageTest">
|
||||
<classes>
|
||||
<class name="org.alfresco.po.share.site.SiteFinderPageTest" />
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- ===================================================================================================================
|
||||
This context file is used only in a development IDE for rapid development,
|
||||
it is never released with the Alfresco.war
|
||||
|
||||
IMPORTANT: If an AMP or JAR extension is added to the Alfresco WAR,
|
||||
then you need to add the paths below for this new extension.
|
||||
=================================================================================================================-->
|
||||
|
||||
<!-- Pick up static resource files from ../repo/target/repo.
|
||||
The Alfresco.war 5.0 does not have a webapp (it used to have Alfresco Explorer but not anymore)
|
||||
that we will access, so this docBase might not be needed -->
|
||||
<Context docBase="${project.parent.basedir}/alfresco-war/target/${project.build.finalName}">
|
||||
<!-- Pick up static resource files from AMPs and other directories (this should not include docBase) -->
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/repo-amp/target/repo-amp/web" />
|
||||
<!-- IMPORTANT! The extraResourcePaths string need to be on one continues line, so if we add another Repo AMP,
|
||||
it would look something like this:
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/repo-amp/target/repo-amp/web,/=${project.parent.basedir}/component-a-repo/target/component-a-repo/web" />
|
||||
-->
|
||||
|
||||
<!-- Configure where the Alfresco (alfresco.war) web application can load classes, test classes, and config files -->
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) target/classes
|
||||
2) target/${project.build.finalName}/config
|
||||
3) target/test-classes
|
||||
|
||||
This way mvn compile can be invoked and all changes will be picked up
|
||||
-->
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/repo-amp/target/classes;
|
||||
${project.parent.basedir}/repo-amp/target/repo-amp/config;
|
||||
${project.parent.basedir}/repo-amp/target/test-classes" />
|
||||
|
||||
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
</Context>
|
||||
|
||||
|
||||
|
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- ===================================================================================================================
|
||||
This context file is used only in a development IDE for rapid development,
|
||||
it is never released with the Share.war
|
||||
|
||||
IMPORTANT: If an AMP or JAR extension is added to the Share WAR,
|
||||
then you need to add the paths below for this new extension.
|
||||
=================================================================================================================-->
|
||||
<Context>
|
||||
<!-- Pick up static resource files from any Share extensions, being it a JAR or an AMP
|
||||
(this should not include docBase) -->
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/share-amp/target/share-amp/web" />
|
||||
<!-- IMPORTANT! The extraResourcePaths string need to be on one continues line, so if we add another Share AMP,
|
||||
it would look something like this:
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/share-amp/target/share-amp/web,/=${project.parent.basedir}/component-a-share/target/component-a-share/web" />
|
||||
-->
|
||||
|
||||
<!-- Configure where the Share (share.war) web application can load classes, config, and test classes (in that order) -->
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) share-amp/target/classes
|
||||
2) share-amp/target/${project.build.finalName}/config
|
||||
3) share-amp/target/test-classes
|
||||
4) Add other AMP paths here....
|
||||
5) share/target/test-classes (loads the share-config-custom.xml used during test runs)
|
||||
|
||||
This way mvn compile can be invoked and all changes will be picked up
|
||||
-->
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/share-amp/target/classes;
|
||||
${project.parent.basedir}/share-amp/target/share-amp/config;
|
||||
${project.parent.basedir}/share-amp/target/test-classes;
|
||||
${project.parent.basedir}/share/target/test-classes" />
|
||||
|
||||
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
</Context>
|
||||
|
||||
|
||||
|
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Context>
|
||||
<Environment name="solr/home" type="java.lang.String" value="${alfresco.solr.home.dir}/" override="true"/>
|
||||
<Environment name="solr/model/dir" type="java.lang.String" value="${alfresco.solr.home.dir}/alfrescoModels/" override="true"/>
|
||||
<Environment name="solr/content/dir" type="java.lang.String" value="${alfresco.solr.data.dir}/content/" override="true"/>
|
||||
|
||||
<!-- Pick up static resource files from any Solr extensions, being it a JAR or an AMP,
|
||||
by default there are no extensions, just the standard Solr webapp files.
|
||||
(this should not include docBase)-->
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.parent.basedir}/runner/target/tomcat/webapps/alfresco-solr4" />
|
||||
|
||||
<!-- Configure where the Solr (solr4.war) web application can load classes, test classes, and config -->
|
||||
<!-- Solr is not customized by default so just points to standard Solr classes. -->
|
||||
<!-- Setup the virtual class path like this:
|
||||
1) target/classes
|
||||
3) target/test-classes
|
||||
|
||||
This way mvn compile can be invoked and all changes will be picked up-->
|
||||
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/runner/target/tomcat/webapps/alfresco-solr4/WEB-INF/classes" />
|
||||
|
||||
<!-- Load from all directories, not just when the META-INF directory is found in exploded JAR -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
</Context>
|
@@ -0,0 +1,107 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco Share AMP Module</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>This is a sample Alfresco Share AMP project, depended upon by the share WAR module</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<!--
|
||||
SDK properties have sensible defaults in the SDK parent,
|
||||
but you can override the properties below to use another version.
|
||||
For more available properties see the alfresco-sdk-parent POM.
|
||||
-->
|
||||
<properties>
|
||||
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
|
||||
Allowed values: alfresco | share. In this case it's configured to use OOTB share -->
|
||||
<app.amp.client.war.artifactId>share</app.amp.client.war.artifactId>
|
||||
|
||||
<!-- Defines the log level used in log4j.properties -->
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
</properties>
|
||||
|
||||
<!-- Following dependencies are needed for compiling Java code in src/main/java;
|
||||
<scope>provided</scope> is inherited for each of the following;
|
||||
for more info, please refer to alfresco-platform-distribution POM -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>classes</classifier>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.extensions.surf</groupId>
|
||||
<artifactId>spring-surf-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<!--===============================================================
|
||||
The following dependencies are needed to be able to compile the
|
||||
custom functional tests that are based on Page Objects (PO)
|
||||
===============================================================-->
|
||||
|
||||
<!-- Bring in the Share Page Objects (PO) used in our functional tests.
|
||||
It contains page objects such as LoginPage -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- Bring in the Share Page Object (PO) Tests that comes with Alfresco. It has
|
||||
the org.alfresco.po.share.AbstractTest class that our custom tests extend. -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share-po</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
|
||||
<!-- Exclude version 2.39.0 of selenium that does not work with latest FF browsers, we include
|
||||
version 2.45 later on here -->
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-server</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<!-- Bring in newer selenium version -->
|
||||
<dependency>
|
||||
<groupId>org.seleniumhq.selenium</groupId>
|
||||
<artifactId>selenium-java</artifactId>
|
||||
<version>2.45.0-alfresco</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<!-- Test NG is defined with test scope in share-po, so need it here too -->
|
||||
<!-- Alfresco code creates a wrapper around Test NG -->
|
||||
<dependency>
|
||||
<groupId>org.alfresco.test</groupId>
|
||||
<artifactId>alfresco-testng</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>test</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-core</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@@ -0,0 +1,29 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
|
||||
|
||||
<!--
|
||||
Define beans related to this Share extension here, such as
|
||||
evaluators and resource bootstrapping.
|
||||
|
||||
Note. Any configuration related to the whole Share.war webapp
|
||||
(i.e. not specific to this share extension) should be
|
||||
placed in the alfresco-allinone/share/src/main/resources/alfresco/web-extension/custom-slingshot-application-context.xml file
|
||||
-->
|
||||
|
||||
<!-- Add module specific messages and labels -->
|
||||
<bean id="${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,9 @@
|
||||
# This file should contain messages and labels specific to this share extension
|
||||
# Put here things like:
|
||||
# Content Model Aspect and Type Labels
|
||||
# Form field labels
|
||||
# Doc lib Action labels and messages
|
||||
# Doc Lib Action Forms labels
|
||||
#
|
||||
|
||||
|
@@ -0,0 +1,23 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
<extension>
|
||||
<modules>
|
||||
<module>
|
||||
<id>${artifactId} - Example Aikau Widgets</id>
|
||||
<version>1.0</version>
|
||||
<auto-deploy>true</auto-deploy>
|
||||
<configurations>
|
||||
<config evaluator="string-compare" condition="WebFramework" replace="false">
|
||||
<web-framework>
|
||||
<dojo-pages>
|
||||
<packages>
|
||||
<package name="example" location="js/example"/>
|
||||
</packages>
|
||||
</dojo-pages>
|
||||
</web-framework>
|
||||
</config>
|
||||
</configurations>
|
||||
</module>
|
||||
</modules>
|
||||
</extension>
|
@@ -0,0 +1,6 @@
|
||||
<webscript>
|
||||
<shortname>Simple Page</shortname>
|
||||
<description>Simple page definition</description>
|
||||
<family>Share</family>
|
||||
<url>/simple-page</url>
|
||||
</webscript>
|
@@ -0,0 +1 @@
|
||||
<@processJsonModel group="share"/>
|
@@ -0,0 +1,29 @@
|
||||
model.jsonModel = {
|
||||
widgets: [{
|
||||
id: "SET_PAGE_TITLE",
|
||||
name: "alfresco/header/SetTitle",
|
||||
config: {
|
||||
title: "This is a simple page"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "MY_HORIZONTAL_WIDGET_LAYOUT",
|
||||
name: "alfresco/layout/HorizontalWidgets",
|
||||
config: {
|
||||
widgetWidth: 50,
|
||||
widgets: [
|
||||
{
|
||||
id: "DEMO_SIMPLE_LOGO",
|
||||
name: "alfresco/logo/Logo",
|
||||
config: {
|
||||
logoClasses: "alfresco-logo-only"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "DEMO_SIMPLE_MSG",
|
||||
name: "example/widgets/TemplateWidget"
|
||||
}
|
||||
]
|
||||
}
|
||||
}]
|
||||
};
|
@@ -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,14 @@
|
||||
# Custom AMP to WAR location mappings
|
||||
|
||||
#
|
||||
# The following property can be used to include the standard set of mappings.
|
||||
# The contents of this file will override any defaults. The default is
|
||||
# 'true', i.e. the default mappings will be augmented or modified by values in
|
||||
# this file.
|
||||
#
|
||||
include.default=true
|
||||
|
||||
#
|
||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||
#
|
||||
/web=/
|
@@ -0,0 +1,48 @@
|
||||
# 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.
|
||||
|
||||
|
||||
|
||||
# SDK Sample module
|
||||
|
||||
# ==== Beginning of Alfresco required/optional properties ====== #
|
||||
# NB: These properties are filtered at build time by Maven, single
|
||||
# sourcing from POM properties
|
||||
module.id=${project.artifactId}
|
||||
#module.aliases=myModule-123, my-module
|
||||
module.title=${project.name}
|
||||
module.description=${project.description}
|
||||
module.version=${noSnapshotVersion}
|
||||
|
||||
# The following optional properties can be used to prevent the module from being added
|
||||
# to inappropriate versions of the WAR file.
|
||||
# module.repo.version.min=2.0
|
||||
# module.repo.version.max=2.1
|
||||
|
||||
# FIXME: This dependencies should come out of mvn dependencies on amp
|
||||
|
||||
# The following describe dependencies on other modules
|
||||
# Depends on net.sf.myproject.module.SupportModuleA version ${version} or later
|
||||
# module.depends.net.sf.myproject.module.SupportModuleA=${version}-*
|
||||
# Depends on net.sf.myproject.module.SupportModuleA version ${version} to 2.0
|
||||
# module.depends.net.sf.myproject.module.SupportModuleB=${version}-2.0
|
||||
# Depends on net.sf.myproject.module.SupportModuleC - any version
|
||||
# module.depends.net.sf.myproject.module.SupportModuleB=*
|
||||
|
||||
|
||||
# ==== End of Alfresco required/optional properties ======= #
|
||||
|
||||
|
||||
# ==== Beginning of module required properties/optional ====== #
|
@@ -0,0 +1,20 @@
|
||||
define(["dojo/_base/declare",
|
||||
"dijit/_WidgetBase",
|
||||
"alfresco/core/Core",
|
||||
"dijit/_TemplatedMixin",
|
||||
"dojo/text!./templates/TemplateWidget.html"
|
||||
],
|
||||
function(declare, _Widget, Core, _Templated, template) {
|
||||
return declare([_Widget, Core, _Templated], {
|
||||
templateString: template,
|
||||
i18nRequirements: [ {i18nFile: "./i18n/TemplateWidget.properties"} ],
|
||||
cssRequirements: [{cssFile:"./css/TemplateWidget.css"}],
|
||||
|
||||
buildRendering: function example_widgets_TemplateWidget__buildRendering() {
|
||||
this.greeting = this.message('hello-label');
|
||||
|
||||
this.inherited(arguments);
|
||||
|
||||
}
|
||||
});
|
||||
});
|
@@ -0,0 +1,5 @@
|
||||
.my-template-widget {
|
||||
border: 1px #000000 solid;
|
||||
padding: 1em;
|
||||
width: 100px;
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
hello-label=Hello from i18n!
|
||||
hello-test=New label!
|
@@ -0,0 +1 @@
|
||||
<div class="my-template-widget">${greeting}</div>
|
@@ -0,0 +1,14 @@
|
||||
<!-- Share configuration related to this particular Share module extension, such as:
|
||||
- Doclib action config
|
||||
- Form config
|
||||
- Aspect and Type config
|
||||
|
||||
Note. Any configuration related to the whole Share.war webapp
|
||||
(i.e. not specific to this share extension) should be
|
||||
placed in the environment specific config:
|
||||
alfresco-allinone/share/src/main/resources/alfresco/web-extension/share-config-custom.xml file
|
||||
-->
|
||||
<alfresco-config>
|
||||
|
||||
|
||||
</alfresco-config>
|
@@ -0,0 +1,92 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
/*
|
||||
* Copyright (C) 2005-2015 Alfresco Software Limited.
|
||||
* This file is part of Alfresco
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ${package}.demoamp;
|
||||
|
||||
import ${package}.demoamp.po.DemoPage;
|
||||
import org.alfresco.po.share.AbstractTest;
|
||||
import org.alfresco.po.share.LoginPage;
|
||||
import org.alfresco.po.share.PeopleFinderPage;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
/**
|
||||
* Functional test that demonstrates how to write and
|
||||
* extend an alfresco share page object.
|
||||
* This test shows the interaction with page objects
|
||||
* brought from share-po project along with newly created ones
|
||||
* that are present in the Demo amp.
|
||||
*
|
||||
* @author Michael Suzuki
|
||||
* @since 2.0.1
|
||||
*/
|
||||
public class DemoPageTestIT extends AbstractTest {
|
||||
DemoPage page;
|
||||
|
||||
@BeforeClass(groups = {"alfresco-one"})
|
||||
public void prepare() throws Exception {
|
||||
// Navigate to share
|
||||
drone.navigateTo(shareUrl + "/page/hdp/ws/simple-page");
|
||||
// Reuse Alfresco Share login page object from share-po lib.
|
||||
LoginPage loginPage = new LoginPage(drone);
|
||||
loginPage.loginAs(username, password);
|
||||
}
|
||||
|
||||
@BeforeMethod
|
||||
public void loadPage() {
|
||||
// Goto demo page
|
||||
drone.navigateTo(shareUrl + "/page/hdp/ws/simple-page");
|
||||
page = new DemoPage(drone);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void findLogo() {
|
||||
Assert.assertTrue(page.isSimpleLogoDisplayed());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void messageIsDisplayed() {
|
||||
page.render();
|
||||
String msg = page.getMessage();
|
||||
Assert.assertNotNull(msg);
|
||||
Assert.assertEquals("Hello from i18n!", msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Example of test reusing methods in abstract share page objects.
|
||||
*/
|
||||
@Test
|
||||
public void titleDisplayed() {
|
||||
// Invoke render when ready to use page object.
|
||||
page.render();
|
||||
Assert.assertNotNull(page);
|
||||
Assert.assertTrue(page.getTitle().contains("This is a simple page"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that show how we are able to reuse share page objects
|
||||
* objects in particular the navigation object.
|
||||
*/
|
||||
@Test
|
||||
public void navigate() {
|
||||
Assert.assertNotNull(page.getNav());
|
||||
PeopleFinderPage peoppleFinderPage = page.getNav().selectPeople().render();
|
||||
Assert.assertNotNull(peoppleFinderPage);
|
||||
}
|
||||
}
|
@@ -0,0 +1,88 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
/*
|
||||
* Copyright (C) 2005-2015 Alfresco Software Limited.
|
||||
* This file is part of Alfresco
|
||||
* Alfresco is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
* Alfresco is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package ${package}.demoamp.po;
|
||||
|
||||
import org.alfresco.po.share.SharePage;
|
||||
import org.alfresco.webdrone.RenderTime;
|
||||
import org.alfresco.webdrone.WebDrone;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.NoSuchElementException;
|
||||
|
||||
/**
|
||||
* Demo of simple share page object that encapsulates the demo of simple page.
|
||||
*
|
||||
* @author Michael Suzuki
|
||||
* @since 2.0.1
|
||||
*/
|
||||
public class DemoPage extends SharePage {
|
||||
private By SIMPLE_DEMO_LOGO = By.id("DEMO_SIMPLE_LOGO");
|
||||
private By SIMPLE_DEMO_MESSAGE = By.id("DEMO_SIMPLE_MSG");
|
||||
|
||||
public DemoPage(WebDrone drone) {
|
||||
super(drone);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public DemoPage render() {
|
||||
return render(new RenderTime(maxPageLoadingTime));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public DemoPage render(RenderTime timer) {
|
||||
while (true) {
|
||||
timer.start();
|
||||
try {
|
||||
if (isSimpleLogoDisplayed() && isMessageDisplayed()) {
|
||||
break;
|
||||
}
|
||||
} catch (NoSuchElementException nse) {
|
||||
} finally {
|
||||
timer.end();
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public DemoPage render(long time) {
|
||||
return render(new RenderTime(time));
|
||||
}
|
||||
|
||||
public boolean isSimpleLogoDisplayed() {
|
||||
try {
|
||||
return drone.find(SIMPLE_DEMO_LOGO).isDisplayed();
|
||||
} catch (NoSuchElementException se) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isMessageDisplayed() {
|
||||
try {
|
||||
return drone.find(SIMPLE_DEMO_MESSAGE).isDisplayed();
|
||||
} catch (NoSuchElementException se) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return drone.find(SIMPLE_DEMO_MESSAGE).getText();
|
||||
}
|
||||
}
|
@@ -0,0 +1,12 @@
|
||||
#set($symbol_pound='#')
|
||||
#set($symbol_dollar='$')
|
||||
#set($symbol_escape='\' )
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
|
||||
<suite name="Custom Share AMP Page Object Tests" parallel="false">
|
||||
<test name="DemoPageTest">
|
||||
<classes>
|
||||
<class name="${package}.demoamp.DemoPageTestIT"/>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
@@ -3,9 +3,9 @@
|
||||
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 Client</name>
|
||||
<name>Alfresco Share WAR Aggregator</name>
|
||||
<packaging>war</packaging>
|
||||
<description>Alfresco Share Client</description>
|
||||
<description>Alfresco Share aggregator, installs your Share AMPs in the Share WAR for aggregation and easy deployment purposes</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
@@ -13,21 +13,37 @@
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<!-- Used in share-config-custom.xml when testing.
|
||||
By default points to standard location (local) of Alfresco Repository -->
|
||||
<alfresco.repo.url>http://localhost:8080/alfresco</alfresco.repo.url>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share</artifactId>
|
||||
<artifactId>${alfresco.share.artifactId}</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
<!-- Demonstrating the usage of a well known GA AMP (Web Quick Start
|
||||
Share component) -->
|
||||
<!-- Demonstrating the dependency / installation of the share AMP developed in the 'share-amp' module -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-wcm-quickstart-share</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>share-amp</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
<!-- Uncomment if you are using RM (Records Management) module -->
|
||||
<!--
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm-share</artifactId>
|
||||
<version>${alfresco.rm.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
-->
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
@@ -45,17 +61,25 @@
|
||||
<!-- The Share WAR -->
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>share</artifactId>
|
||||
<artifactId>${alfresco.share.artifactId}</artifactId>
|
||||
<type>war</type>
|
||||
<!-- To allow inclusion of META-INF -->
|
||||
<excludes/>
|
||||
</overlay>
|
||||
<!-- Add / order your AMPs here -->
|
||||
<!-- Add / sort your AMPs here -->
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-wcm-quickstart-share</artifactId>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>share-amp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
<!-- Uncomment if you are using RM module -->
|
||||
<!--
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-rm-share</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
-->
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
@@ -1,8 +0,0 @@
|
||||
# SHARE client environment dependent properties (local build)
|
||||
share.server.scheme=http
|
||||
share.server.name=localhost
|
||||
share.server.port=${jetty.port}
|
||||
alfresco.server.scheme=http
|
||||
alfresco.server.name=localhost
|
||||
alfresco.server.port=${jetty.port}
|
||||
alfresco.webapp.name=alfresco
|
@@ -1,12 +1,18 @@
|
||||
<!-- Alfresco 5.0.d custom-slingshot-application-context.xml sample
|
||||
|
||||
Note. Any configuration related to a specific Share extension
|
||||
(such as evaluator bean and message resource bean) should be
|
||||
placed in the specific extension config file, such as for example
|
||||
alfresco-allinone/share-amp/src/main/amp/config/alfresco/web-extension/custom-slingshot-application-context.xml
|
||||
-->
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This is a sample configuration file from Alfresco Community 4.2.b - Please adapt to your version -->
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:hz="http://www.hazelcast.com/schema/config"
|
||||
xmlns:hz="http://www.hazelcast.com/schema/spring"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans
|
||||
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
|
||||
http://www.hazelcast.com/schema/config
|
||||
http://www.hazelcast.com/schema/config/hazelcast-spring.xsd">
|
||||
http://www.hazelcast.com/schema/spring
|
||||
http://www.hazelcast.com/schema/spring/hazelcast-spring-2.4.xsd">
|
||||
|
||||
<!--
|
||||
Hazelcast distributed messaging configuration - Share web-tier cluster config (3.4.8 and 4.0.1)
|
||||
@@ -47,6 +53,7 @@
|
||||
<bean id="webframework.factory.requestcontext.servlet" class="org.alfresco.web.site.ClusterAwareRequestContextFactory" parent="webframework.factory.base">
|
||||
<property name="linkBuilderFactory" ref="webframework.factory.linkbuilder.servlet" />
|
||||
<property name="extensibilityModuleHandler" ref="webscripts.extensibility.handler" />
|
||||
<property name="dependencyHandler" ref="dependency.handler" />
|
||||
<property name="clusterObjectPersister" ref="webframework.slingshot.persister.remote" />
|
||||
</bean>
|
||||
-->
|
||||
|
@@ -1,4 +1,11 @@
|
||||
<!-- This is a sample configuration file from Alfresco Community 4.2.b - Please adapt to your version -->
|
||||
<!-- Alfresco 5.0.d share-config-custom.xml sample.
|
||||
|
||||
Note:
|
||||
Any configuration related to a specific Share AMP extension
|
||||
(such as doclib action config and form config)
|
||||
should be added to that extension's custom config
|
||||
(i.e. into the share-amp/src/main/resources/META-INF/share-config-custom.xml)
|
||||
-->
|
||||
<alfresco-config>
|
||||
|
||||
<!-- Global config section -->
|
||||
@@ -37,6 +44,62 @@
|
||||
</web-framework>
|
||||
</config>
|
||||
|
||||
<!-- Disable the CSRF Token Filter -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!--
|
||||
To run the CSRF Token Filter behind 1 or more proxies that do not rewrite the Origin or Referere headers:
|
||||
|
||||
1. Copy the "CSRFPolicy" default config in share-security-config.xml and paste it into this file.
|
||||
2. Replace the old config by setting the <config> element's "replace" attribute to "true" like below:
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
3. To every <action name="assertReferer"> element add the following child element
|
||||
<param name="referer">http://www.proxy1.com/.*|http://www.proxy2.com/.*</param>
|
||||
4. To every <action name="assertOrigin"> element add the following child element
|
||||
<param name="origin">http://www.proxy1.com|http://www.proxy2.com</param>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Remove the default wildcard setting and use instead a strict whitelist of the only domains that shall be allowed
|
||||
to be used inside iframes (i.e. in the WebView dashlet on the dashboards)
|
||||
-->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="IFramePolicy" replace="true">
|
||||
<cross-domain>
|
||||
<url>http://www.trusted-domain-1.com/</url>
|
||||
<url>http://www.trusted-domain-2.com/</url>
|
||||
</cross-domain>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!-- Turn off header that stops Share from being displayed in iframes on pages from other domains -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
|
||||
<headers>
|
||||
<header>
|
||||
<name>X-Frame-Options</name>
|
||||
<enabled>false</enabled>
|
||||
</header>
|
||||
</headers>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!-- Prevent browser communication over HTTP (for HTTPS servers) -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
|
||||
<headers>
|
||||
<header>
|
||||
<name>Strict-Transport-Security</name>
|
||||
<value>max-age=31536000</value>
|
||||
</header>
|
||||
</headers>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<config evaluator="string-compare" condition="Replication">
|
||||
<share-urls>
|
||||
<!--
|
||||
@@ -63,7 +126,12 @@
|
||||
<!--
|
||||
Optionally limit the number of folders shown in treeview throughout Share.
|
||||
-->
|
||||
<maximum-folder-count>-1</maximum-folder-count>
|
||||
<maximum-folder-count>1000</maximum-folder-count>
|
||||
|
||||
<!--
|
||||
Default timeout in milliseconds for folder Tree component to recieve response from Repository
|
||||
-->
|
||||
<timeout>7000</timeout>
|
||||
</tree>
|
||||
|
||||
<!--
|
||||
@@ -86,9 +154,11 @@
|
||||
<aspect name="emailserver:aliasable" />
|
||||
<aspect name="cm:taggable" />
|
||||
<aspect name="app:inlineeditable" />
|
||||
<aspect name="gd:googleEditable" />
|
||||
<aspect name="cm:geographic" />
|
||||
<aspect name="exif:exif" />
|
||||
<aspect name="audio:audio" />
|
||||
<aspect name="cm:indexControl" />
|
||||
<aspect name="dp:restrictable" />
|
||||
</visible>
|
||||
|
||||
<!-- Aspects that a user can add. Same as "visible" if left empty -->
|
||||
@@ -117,6 +187,10 @@
|
||||
|
||||
<type name="cm:folder">
|
||||
</type>
|
||||
|
||||
<type name="trx:transferTarget">
|
||||
<subtype name="trx:fileTransferTarget" />
|
||||
</type>
|
||||
</types>
|
||||
|
||||
<!--
|
||||
@@ -139,8 +213,8 @@
|
||||
The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs™ Document
|
||||
-->
|
||||
<creatable-types>
|
||||
<creatable type="doc">application/msword</creatable>
|
||||
<creatable type="xls">application/vnd.ms-excel</creatable>
|
||||
<creatable type="doc">application/vnd.openxmlformats-officedocument.wordprocessingml.document</creatable>
|
||||
<creatable type="xls">application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</creatable>
|
||||
<creatable type="ppt">application/vnd.ms-powerpoint</creatable>
|
||||
</creatable-types>
|
||||
</google-docs>
|
||||
@@ -209,14 +283,19 @@
|
||||
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
|
||||
-->
|
||||
<evaluate-child-folders>false</evaluate-child-folders>
|
||||
|
||||
|
||||
<!--
|
||||
Optionally limit the number of folders shown in treeview throughout Share.
|
||||
-->
|
||||
<maximum-folder-count>500</maximum-folder-count>
|
||||
</tree>
|
||||
|
||||
<!--
|
||||
Whether the link to the Repository Library appears in the header component or not.
|
||||
-->
|
||||
<visible>true</visible>
|
||||
</config>
|
||||
|
||||
|
||||
<!-- Kerberos settings -->
|
||||
<!-- To enable kerberos rename this condition to "Kerberos" -->
|
||||
<config evaluator="string-compare" condition="KerberosDisabled" replace="true">
|
||||
@@ -243,11 +322,21 @@
|
||||
JAAS login configuration entry name.
|
||||
-->
|
||||
<config-entry>ShareHTTP</config-entry>
|
||||
<!--
|
||||
A Boolean which when true strips the @domain sufix from Kerberos authenticated usernames.
|
||||
Use together with stripUsernameSuffix property in alfresco-global.properties file.
|
||||
-->
|
||||
<stripUserNameSuffix>true</stripUserNameSuffix>
|
||||
</kerberos>
|
||||
</config>
|
||||
|
||||
<!-- example port config used to access remote Alfresco server (default is 8080) -->
|
||||
<!-- Uncomment and modify the URL to Activiti Admin Console if required. -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="ActivitiAdmin" replace="true">
|
||||
<activiti-admin-url>http://localhost:8080/alfresco/activiti-admin</activiti-admin-url>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
<remote>
|
||||
<endpoint>
|
||||
@@ -277,20 +366,21 @@
|
||||
<basic-auth>true</basic-auth>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
|
||||
<endpoint>
|
||||
<id>activiti-admin</id>
|
||||
<name>Activiti Admin UI - user access</name>
|
||||
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||
<connector-id>activiti-admin-connector</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/activiti-admin</endpoint-url>
|
||||
<id>alfresco-api</id>
|
||||
<parent-id>alfresco</parent-id>
|
||||
<name>Alfresco Public API - user access</name>
|
||||
<description>Access to Alfresco Repository Public API that require user authentication.
|
||||
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/api</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<!--
|
||||
Overriding endpoints to reference an Alfresco server with external SSO enabled
|
||||
NOTE: If utilising a load balancer between web-tier and repository cluster, the "sticky
|
||||
sessions" feature of your load balancer must be used.
|
||||
@@ -299,12 +389,23 @@
|
||||
*Optional* keystore contains SSL client certificate + trusted CAs.
|
||||
Used to authenticate share to an external SSO system such as CAS
|
||||
Remove the keystore section if not required i.e. for NTLM.
|
||||
|
||||
|
||||
NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos"
|
||||
|
||||
NOTE: For external SSO, switch the endpoint connector to "AlfrescoHeader" and set
|
||||
the userHeader to the name of the HTTP header that the external SSO
|
||||
|
||||
NOTE: For external SSO, switch the endpoint connector to "alfrescoHeader" and set
|
||||
the userHeader value to the name of the HTTP header that the external SSO
|
||||
uses to provide the authenticated user name.
|
||||
NOTE: For external SSO, Share now supports the "userIdPattern" mechanism as is available
|
||||
on the repository config for External Authentication sub-system. Add the following
|
||||
element to your "alfrescoHeader" connector config:
|
||||
<userIdPattern>^ignore-(\w+)-ignore</userIdPattern>
|
||||
This is an example, ensure the Id pattern matches your repository config.
|
||||
NOTE: For external SSO, Share now supports stateless (no Http Session or sticky session)
|
||||
connection to the repository when using the alfrescoHeader remote user connector.
|
||||
e.g. You can change endpoint config to use the faster /service URL instead of the
|
||||
/wcs URL if you are using External Authentication and then remove sticky session config
|
||||
from your proxy between Share and Alfresco. Note that this is also faster because Share
|
||||
will no longer call the /touch REST API before every remote call to the repository.
|
||||
-->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
@@ -314,14 +415,14 @@
|
||||
<type>pkcs12</type>
|
||||
<password>alfresco-system</password>
|
||||
</keystore>
|
||||
|
||||
|
||||
<connector>
|
||||
<id>alfrescoCookie</id>
|
||||
<name>Alfresco Connector</name>
|
||||
<description>Connects to an Alfresco instance using cookie-based authentication</description>
|
||||
<class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
|
||||
</connector>
|
||||
|
||||
|
||||
<connector>
|
||||
<id>alfrescoHeader</id>
|
||||
<name>Alfresco Connector</name>
|
||||
@@ -339,8 +440,50 @@
|
||||
<identity>user</identity>
|
||||
<external-auth>true</external-auth>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco-feed</id>
|
||||
<parent-id>alfresco</parent-id>
|
||||
<name>Alfresco Feed</name>
|
||||
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||
<connector-id>alfrescoHeader</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
|
||||
<identity>user</identity>
|
||||
<external-auth>true</external-auth>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco-api</id>
|
||||
<parent-id>alfresco</parent-id>
|
||||
<name>Alfresco Public API - user access</name>
|
||||
<description>Access to Alfresco Repository Public API that require user authentication.
|
||||
This makes use of the authentication that is provided by parent 'alfresco' endpoint.</description>
|
||||
<connector-id>alfrescoHeader</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/api</endpoint-url>
|
||||
<identity>user</identity>
|
||||
<external-auth>true</external-auth>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
-->
|
||||
|
||||
|
||||
<!-- Cookie settings -->
|
||||
<!-- To disable alfUsername2 cookie set enableCookie value to "false" -->
|
||||
<!--
|
||||
<plug-ins>
|
||||
<element-readers>
|
||||
<element-reader element-name="cookie" class="org.alfresco.web.config.cookie.CookieElementReader"/>
|
||||
</element-readers>
|
||||
</plug-ins>
|
||||
|
||||
<config evaluator="string-compare" condition="Cookie" replace="true">
|
||||
<cookie>
|
||||
<enableCookie>false</enableCookie>
|
||||
<cookies-to-remove>
|
||||
<cookie-to-remove>alfUsername3</cookie-to-remove>
|
||||
<cookie-to-remove>alfLogin</cookie-to-remove>
|
||||
</cookies-to-remove>
|
||||
</cookie>
|
||||
</config>
|
||||
-->
|
||||
</alfresco-config>
|
@@ -1,5 +1,5 @@
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=${app.log.root.level}, Console, File
|
||||
log4j.rootLogger=error, Console, File
|
||||
|
||||
###### Console appender definition #######
|
||||
|
||||
@@ -17,27 +17,7 @@ log4j.appender.File.File=${app.log.dir}share.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
###### Hibernate specific appender definition #######
|
||||
#log4j.appender.file=org.apache.log4j.FileAppender
|
||||
#log4j.appender.file.File=hibernate.log
|
||||
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||
|
||||
###### Log level overrides #######
|
||||
|
||||
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
|
||||
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
|
||||
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
|
||||
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
|
||||
|
||||
# Hibernate
|
||||
log4j.logger.org.hibernate=error
|
||||
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
|
||||
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
|
||||
log4j.logger.org.hibernate.type=warn
|
||||
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
|
||||
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
|
||||
|
||||
# Spring
|
||||
log4j.logger.org.springframework=warn
|
||||
@@ -45,218 +25,23 @@ log4j.logger.org.springframework=warn
|
||||
log4j.logger.org.springframework.remoting.support=error
|
||||
log4j.logger.org.springframework.util=error
|
||||
|
||||
# Axis/WSS4J
|
||||
log4j.logger.org.apache.axis=info
|
||||
log4j.logger.org.apache.ws=info
|
||||
|
||||
# CXF
|
||||
log4j.logger.org.apache.cxf=error
|
||||
|
||||
# MyFaces
|
||||
log4j.logger.org.apache.myfaces.util.DebugUtils=info
|
||||
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
|
||||
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
|
||||
log4j.logger.org.apache.myfaces.taglib=error
|
||||
|
||||
# OpenOfficeConnection
|
||||
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
|
||||
|
||||
# log prepared statement cache activity ###
|
||||
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
||||
|
||||
# Alfresco
|
||||
log4j.logger.org.alfresco=error
|
||||
log4j.logger.org.alfresco.repo.admin=info
|
||||
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
|
||||
log4j.logger.org.alfresco.repo.model.filefolder=warn
|
||||
log4j.logger.org.alfresco.repo.tenant=info
|
||||
log4j.logger.org.alfresco.repo.avm=info
|
||||
log4j.logger.org.alfresco.config=warn
|
||||
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
|
||||
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
|
||||
log4j.logger.org.alfresco.repo.management.subsystems=warn
|
||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
|
||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
|
||||
log4j.logger.org.alfresco.repo.security.sync=info
|
||||
log4j.logger.org.alfresco.repo.security.person=info
|
||||
|
||||
log4j.logger.org.alfresco.sample=info
|
||||
log4j.logger.org.alfresco.web=info
|
||||
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
|
||||
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
|
||||
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
|
||||
#log4j.logger.org.alfresco.web.bean.clipboard=debug
|
||||
log4j.logger.org.alfresco.repo.webservice=info
|
||||
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
|
||||
#log4j.logger.org.alfresco.web.page=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
|
||||
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
|
||||
|
||||
log4j.logger.org.alfresco.web.ui.common.Utils=error
|
||||
#log4j.logger.org.alfresco.web.ui.common.Utils=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
|
||||
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
|
||||
|
||||
# Specific patches
|
||||
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
|
||||
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
|
||||
log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
|
||||
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
|
||||
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
|
||||
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
|
||||
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
|
||||
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
|
||||
log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info
|
||||
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
|
||||
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
|
||||
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
|
||||
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
|
||||
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
|
||||
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
|
||||
log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info
|
||||
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
|
||||
|
||||
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.workflow=info
|
||||
|
||||
# CIFS server debugging
|
||||
log4j.logger.org.alfresco.smb.protocol=error
|
||||
#log4j.logger.org.alfresco.smb.protocol.auth=debug
|
||||
#log4j.logger.org.alfresco.acegi=debug
|
||||
|
||||
# FTP server debugging
|
||||
log4j.logger.org.alfresco.ftp.protocol=error
|
||||
#log4j.logger.org.alfresco.ftp.server=debug
|
||||
|
||||
# WebDAV debugging
|
||||
#log4j.logger.org.alfresco.webdav.protocol=debug
|
||||
log4j.logger.org.alfresco.webdav.protocol=error
|
||||
|
||||
# NTLM servlet filters
|
||||
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
|
||||
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
|
||||
|
||||
# Kerberos servlet filters
|
||||
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
|
||||
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
|
||||
|
||||
# File servers
|
||||
log4j.logger.org.alfresco.fileserver=warn
|
||||
|
||||
# Repo filesystem debug logging
|
||||
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
|
||||
|
||||
# AVM filesystem debug logging
|
||||
#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug
|
||||
|
||||
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
|
||||
log4j.logger.org.alfresco.repo.node.integrity=ERROR
|
||||
|
||||
# Indexer debugging
|
||||
log4j.logger.org.alfresco.repo.search.Indexer=error
|
||||
#log4j.logger.org.alfresco.repo.search.Indexer=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
|
||||
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
|
||||
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
|
||||
|
||||
# Audit debugging
|
||||
# log4j.logger.org.alfresco.repo.audit=DEBUG
|
||||
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
|
||||
|
||||
# Forms debugging
|
||||
# log4j.logger.org.alfresco.web.forms=debug
|
||||
# log4j.logger.org.chiba.xml.xforms=debug
|
||||
log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error
|
||||
log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error
|
||||
|
||||
# Property sheet and modelling debugging
|
||||
# change to error to hide the warnings about missing properties and associations
|
||||
log4j.logger.alfresco.missingProperties=warn
|
||||
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
|
||||
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
|
||||
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
|
||||
|
||||
# Dictionary/Model debugging
|
||||
log4j.logger.org.alfresco.repo.dictionary=warn
|
||||
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
|
||||
|
||||
# Virtualization Server Registry
|
||||
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
|
||||
|
||||
# Spring context runtime property setter
|
||||
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
|
||||
|
||||
# Debugging options for clustering
|
||||
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
|
||||
log4j.logger.org.alfresco.repo.content.replication=error
|
||||
|
||||
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
|
||||
|
||||
# Activity service
|
||||
log4j.logger.org.alfresco.repo.activities=warn
|
||||
|
||||
# User usage tracking
|
||||
log4j.logger.org.alfresco.repo.usage=info
|
||||
|
||||
# Sharepoint
|
||||
log4j.logger.org.alfresco.module.vti=info
|
||||
|
||||
# Forms Engine
|
||||
log4j.logger.org.alfresco.repo.forms=info
|
||||
log4j.logger.org.alfresco.web.config.forms=info
|
||||
log4j.logger.org.alfresco.web.scripts.forms=info
|
||||
|
||||
# CMIS
|
||||
log4j.logger.org.alfresco.opencmis=error
|
||||
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
|
||||
log4j.logger.org.alfresco.cmis=error
|
||||
log4j.logger.org.alfresco.cmis.dictionary=warn
|
||||
log4j.logger.org.apache.chemistry.opencmis=info
|
||||
|
||||
# IMAP
|
||||
log4j.logger.org.alfresco.repo.imap=info
|
||||
|
||||
# JBPM
|
||||
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
|
||||
|
||||
#log4j.logger.org.alfresco.repo.googledocs=debug
|
||||
|
||||
###### Scripting #######
|
||||
|
||||
# Web Framework
|
||||
log4j.logger.org.springframework.extensions.webscripts=info
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
|
||||
|
||||
# Repository
|
||||
log4j.logger.org.alfresco.repo.web.scripts=warn
|
||||
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
|
||||
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
|
||||
log4j.logger.org.alfresco.repo.jscript=error
|
||||
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
|
||||
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.avm.actions=info
|
||||
|
||||
# Freemarker
|
||||
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.freemarker.runtime=
|
||||
|
||||
# Metadata extraction
|
||||
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
|
||||
|
||||
# Reduces PDFont error level due to ALF-7105
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
|
||||
|
||||
# no index support
|
||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
|
||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
|
||||
log4j.logger.freemarker.runtime=
|
@@ -1,167 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- This is a sample from Alfresco Share 4.2.b to demonstrate how to override web.xml in your project.
|
||||
| Uncomment this file to overlay to the webapp.
|
||||
| NOTE: you will need to change/update this if you use a different Alfresco version / edition
|
||||
-->
|
||||
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
|
||||
|
||||
<display-name>Alfresco Project Slingshot</display-name>
|
||||
<description>Alfresco Project Slingshot application</description>
|
||||
|
||||
<context-param>
|
||||
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
|
||||
<param-value>true</param-value>
|
||||
</context-param>
|
||||
|
||||
<!-- Spring Application Context location and context class -->
|
||||
<context-param>
|
||||
<description>Spring config file location</description>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>/WEB-INF/classes/web-application-config.xml</param-value>
|
||||
</context-param>
|
||||
|
||||
<filter>
|
||||
<description>Set HTTP cache Expires header 30 days forward for a mapping.</description>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<filter-class>org.alfresco.web.scripts.servlet.StaticAssetCacheFilter</filter-class>
|
||||
<init-param>
|
||||
<description>Add an Expires Header 30 days forward</description>
|
||||
<param-name>expires</param-name>
|
||||
<param-value>30</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<description>MT authentication support - NOTE: does not support portlets</description>
|
||||
<filter-name>MTAuthentationFilter</filter-name>
|
||||
<filter-class>org.alfresco.web.site.servlet.MTAuthenticationFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<description>Redirects view and service URLs to the dispatcher servlet.</description>
|
||||
<filter-name>UrlRewriteFilter</filter-name>
|
||||
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<description>Share SSO authentication support filter.</description>
|
||||
<filter-name>Authentication Filter</filter-name>
|
||||
<filter-class>org.alfresco.web.site.servlet.SSOAuthenticationFilter</filter-class>
|
||||
<init-param>
|
||||
<param-name>endpoint</param-name>
|
||||
<param-value>alfresco</param-value>
|
||||
</init-param>
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.jpg</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.png</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.gif</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.css</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>CacheExpiresFilter</filter-name>
|
||||
<url-pattern>*.js</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Authentication Filter</filter-name>
|
||||
<url-pattern>/page/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Authentication Filter</filter-name>
|
||||
<url-pattern>/p/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>Authentication Filter</filter-name>
|
||||
<url-pattern>/proxy/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>UrlRewriteFilter</filter-name>
|
||||
<url-pattern>/proxy/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>UrlRewriteFilter</filter-name>
|
||||
<url-pattern>/service/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>UrlRewriteFilter</filter-name>
|
||||
<url-pattern>/feedservice/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>UrlRewriteFilter</filter-name>
|
||||
<url-pattern>/res/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>UrlRewriteFilter</filter-name>
|
||||
<url-pattern>/system/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<filter-mapping>
|
||||
<filter-name>MTAuthentationFilter</filter-name>
|
||||
<url-pattern>/page/*</url-pattern>
|
||||
</filter-mapping>
|
||||
<filter-mapping>
|
||||
<filter-name>MTAuthentationFilter</filter-name>
|
||||
<url-pattern>/p/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- Spring Context Loader listener - the name of the default global context is passed to the DispatcherServlet
|
||||
in the servlet definition below - this is to allow the NTLM filter etc. to find the single app context -->
|
||||
<listener>
|
||||
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>Spring Surf Dispatcher Servlet</servlet-name>
|
||||
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
|
||||
<init-param>
|
||||
<param-name>contextAttribute</param-name>
|
||||
<param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
|
||||
</init-param>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>Spring Surf Dispatcher Servlet</servlet-name>
|
||||
<url-pattern>/page/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Spring Surf Dispatcher Servlet</servlet-name>
|
||||
<url-pattern>/p/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<session-config>
|
||||
<session-timeout>60</session-timeout>
|
||||
</session-config>
|
||||
|
||||
<!-- welcome file list precedence order is index.jsp -->
|
||||
<welcome-file-list>
|
||||
<welcome-file>page</welcome-file>
|
||||
<welcome-file>index.jsp</welcome-file>
|
||||
</welcome-file-list>
|
||||
|
||||
<error-page>
|
||||
<error-code>500</error-code>
|
||||
<location>/error500.jsp</location>
|
||||
</error-page>
|
||||
|
||||
</web-app>
|
@@ -0,0 +1,93 @@
|
||||
<alfresco-config>
|
||||
|
||||
<config evaluator="string-compare" condition="WebFramework">
|
||||
<web-framework>
|
||||
<autowire>
|
||||
<!-- Changing this to 'development' currently breaks the Admin Console.
|
||||
Instead we make a POST to clear Share dependency caches, see 'clear-caches-refresh-ws' profile. -->
|
||||
<mode>production</mode> <!-- not really need in the long run, used for YUI - deprecate -->
|
||||
</autowire>
|
||||
|
||||
<!--
|
||||
We don't need to do this when we have the new refresh mojos in the Alfresco plug-in.
|
||||
|
||||
If resource caching has been disabled then all the dependency caches will be cleared
|
||||
before processing the Aikau jsonModel request...
|
||||
(i.e. this.dojoDependencyHandler.clearCaches() )
|
||||
|
||||
For more information see the Aikau source code: https://github.com/Alfresco/Aikau
|
||||
-->
|
||||
<disable-resource-caching>false</disable-resource-caching>
|
||||
</web-framework>
|
||||
</config>
|
||||
|
||||
|
||||
<!-- Global config section -->
|
||||
<config replace="true">
|
||||
<flags>
|
||||
<!--
|
||||
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
|
||||
-->
|
||||
<client-debug>true</client-debug>
|
||||
<!--
|
||||
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
|
||||
This flag automatically activates logging on page load.
|
||||
-->
|
||||
<client-debug-autologging>false</client-debug-autologging>
|
||||
</flags>
|
||||
</config>
|
||||
|
||||
<!--
|
||||
Disable CSRF completely for now
|
||||
It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy
|
||||
-->
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
</config>
|
||||
|
||||
<!--
|
||||
Change so it is picked up from property where the Alfresco Repo Webapp is running
|
||||
(e.g. http://localhost:8080/alfresco)
|
||||
-->
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
<remote>
|
||||
<endpoint>
|
||||
<id>alfresco-noauth</id>
|
||||
<name>Alfresco - unauthenticated access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<identity>none</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco</id>
|
||||
<name>Alfresco - user access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco-feed</id>
|
||||
<name>Alfresco Feed</name>
|
||||
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||
<connector-id>http</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<basic-auth>true</basic-auth>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>activiti-admin</id>
|
||||
<name>Activiti Admin UI - user access</name>
|
||||
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||
<connector-id>activiti-admin-connector</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/activiti-admin</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
</alfresco-config>
|
||||
|
@@ -0,0 +1,52 @@
|
||||
# This file is copied from Alfresco Share 5.0.d
|
||||
# Overrides tomcat/webapps/share/WEB-INF/classes/log4j,properties
|
||||
# and sets new file location from property and log level from property.
|
||||
#
|
||||
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=${app.log.root.level}, Console, File
|
||||
|
||||
###### Console appender definition #######
|
||||
|
||||
# All outputs currently set to be a ConsoleAppender.
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
|
||||
# use log4j NDC to replace %x with tenant domain / username
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
|
||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
###### File appender definition #######
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=${app.log.dir}alfresco.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
|
||||
|
||||
# Spring
|
||||
log4j.logger.org.springframework=warn
|
||||
# Turn off Spring remoting warnings that should really be info or debug.
|
||||
log4j.logger.org.springframework.remoting.support=error
|
||||
log4j.logger.org.springframework.util=error
|
||||
|
||||
# MyFaces
|
||||
log4j.logger.org.apache.myfaces.util.DebugUtils=info
|
||||
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
|
||||
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
|
||||
log4j.logger.org.apache.myfaces.taglib=error
|
||||
|
||||
# Alfresco
|
||||
log4j.logger.org.alfresco=error
|
||||
log4j.logger.org.alfresco.config=warn
|
||||
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
|
||||
log4j.logger.org.alfresco.web=info
|
||||
|
||||
# Web Framework
|
||||
log4j.logger.org.springframework.extensions.webscripts=info
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
|
||||
|
||||
# Freemarker
|
||||
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.freemarker.runtime=
|
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>solr-config</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Alfresco Solr 4 Configuration</name>
|
||||
<description>Apache Solr 4 Configuration Customization</description>
|
||||
|
||||
<!-- Setup the parent extension project, which contain all the Alfresco Maven SDK stuff -->
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<!-- Build Solr Configuration only when we run an embedded Tomcat (i.e. profile run is enabled).
|
||||
We assume that there is no need to customize Apache Solr 4 itself. -->
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>run</id>
|
||||
|
||||
<properties>
|
||||
<alfresco.solr.dir>${alfresco.data.location}/solr4</alfresco.solr.dir>
|
||||
<alfresco.solr.home.dir>${alfresco.solr.dir}/config</alfresco.solr.home.dir>
|
||||
<alfresco.solr.data.dir>${alfresco.solr.dir}/data</alfresco.solr.data.dir>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<!-- Download the default Solr4-config.zip Configuration files,
|
||||
they will be updated so we can run locally over HTTP -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-solr4</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>config</classifier>
|
||||
<type>zip</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<!-- Run goal unpack and unzip the content of the downloaded default solr-config.zip file into the
|
||||
alfresco-maven-sdk2-test/alf_data_dev/solr4/config directory
|
||||
(The solr-config.zip is brought in via the dependency section) -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>unpack-alfresco-config</id>
|
||||
<goals>
|
||||
<goal>unpack</goal>
|
||||
</goals>
|
||||
<phase>generate-resources</phase>
|
||||
<configuration>
|
||||
<outputDirectory>${alfresco.solr.home.dir}</outputDirectory>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-solr4</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<classifier>config</classifier>
|
||||
<type>zip</type>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- For windows paths, convert single \ to / for the ${alfresco.solr.data.dir} path,
|
||||
by default it will be c:\bla\, we need forward slash or double backslash. -->
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>regexp-property</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>regex-property</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<name>solrDataDir</name>
|
||||
<value>${alfresco.solr.data.dir}</value>
|
||||
<regex>\\</regex>
|
||||
<replacement>/</replacement>
|
||||
<failIfNoMatch>false</failIfNoMatch>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
|
||||
<!-- Run the goal replace and update configuration files for the
|
||||
Solr cores to reflect our build structure -->
|
||||
<plugin>
|
||||
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
||||
<artifactId>replacer</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>setup-solr-config</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>replace</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<regex>false</regex>
|
||||
<includes>
|
||||
<include>${alfresco.solr.home.dir}/archive-SpacesStore/conf/solrcore.properties</include>
|
||||
<include>${alfresco.solr.home.dir}/workspace-SpacesStore/conf/solrcore.properties</include>
|
||||
</includes>
|
||||
<replacements>
|
||||
<replacement>
|
||||
<token>@@ALFRESCO_SOLR4_DATA_DIR@@</token>
|
||||
<value>${solrDataDir}/index</value>
|
||||
</replacement>
|
||||
</replacements>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
@@ -1,148 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco Apache Solr customization</name>
|
||||
<packaging>pom</packaging>
|
||||
<description>Alfresco Apache Solr Customization</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<alfresco.solr.dir>${project.basedir}/solr_home</alfresco.solr.dir>
|
||||
<alfresco.solr.war.overlay>${project.build.directory}/${project.artifactId}-overlay</alfresco.solr.war.overlay>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-alfresco-community-lib</id>
|
||||
<goals><goal>unpack</goal></goals>
|
||||
<phase>generate-resources</phase>
|
||||
<configuration>
|
||||
<outputDirectory>${alfresco.solr.dir}</outputDirectory>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<artifactId>alfresco-solr</artifactId>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>zip</type>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.7</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>overlay-solr-war</id>
|
||||
<phase>generate-resources</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<echo message="Unpacking Apache Solr for web.xml overlay" />
|
||||
<unzip src="${alfresco.solr.dir}/apache-solr-1.4.1.war" dest="${alfresco.solr.war.overlay}" />
|
||||
</tasks>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>overlay-web-xml</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals><goal>copy-resources</goal></goals>
|
||||
<configuration>
|
||||
<outputDirectory>${alfresco.solr.war.overlay}/WEB-INF</outputDirectory>
|
||||
<overwrite>true</overwrite>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/webapp/WEB-INF</directory>
|
||||
<includes>
|
||||
<include>web.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
<targetPath>classes</targetPath>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.7</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>create-solr-war</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<tasks>
|
||||
<echo message="Packaging Apache Solr WAR overlay" />
|
||||
<zip basedir="${alfresco.solr.war.overlay}" destfile="${alfresco.solr.dir}/apache-solr-1.4.1-overlay.war" />
|
||||
</tasks>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-lib</id>
|
||||
<phase>package</phase>
|
||||
<goals><goal>copy-resources</goal></goals>
|
||||
<configuration>
|
||||
<outputDirectory>${alfresco.solr.dir}</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/solr-properties/archive</directory>
|
||||
<filtering>true</filtering>
|
||||
<targetPath>${alfresco.solr.dir}/archive-SpacesStore/conf</targetPath>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/solr-properties/workspace</directory>
|
||||
<filtering>true</filtering>
|
||||
<targetPath>${alfresco.solr.dir}/workspace-SpacesStore/conf</targetPath>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-solr</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>zip</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
@@ -1,18 +0,0 @@
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=${app.log.root.level}, Console, File
|
||||
|
||||
###### Console appender definition #######
|
||||
|
||||
# All outputs currently set to be a ConsoleAppender.
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
|
||||
|
||||
###### File appender definition #######
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=${app.log.dir}solr.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
File diff suppressed because it is too large
Load Diff
@@ -1,83 +0,0 @@
|
||||
#
|
||||
# solrcore.properties - used in solrconfig.xml
|
||||
#
|
||||
# data is in ${data.dir.root}/${data.dir.store}
|
||||
|
||||
data.dir.root=${alfresco.solr.dir}
|
||||
data.dir.store=archive/SpacesStore
|
||||
enable.alfresco.tracking=true
|
||||
cache.alfresco.size=100
|
||||
max.field.length=2147483647
|
||||
|
||||
|
||||
#
|
||||
# Properties loaded during alfresco tracking
|
||||
#
|
||||
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.port.ssl=8443
|
||||
alfresco.baseUrl=/alfresco
|
||||
alfresco.cron=0/15 * * * * ? *
|
||||
alfresco.stores=archive://SpacesStore
|
||||
alfresco.lag=1000
|
||||
alfresco.hole.retention=3600000
|
||||
alfresco.batch.count=1000
|
||||
|
||||
# encryption
|
||||
|
||||
# none, https
|
||||
alfresco.secureComms=none
|
||||
|
||||
# ssl
|
||||
alfresco.encryption.ssl.keystore.type=JCEKS
|
||||
alfresco.encryption.ssl.keystore.provider=
|
||||
alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore
|
||||
alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties
|
||||
alfresco.encryption.ssl.truststore.type=JCEKS
|
||||
alfresco.encryption.ssl.truststore.provider=
|
||||
alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore
|
||||
alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties
|
||||
|
||||
## Tracking
|
||||
|
||||
alfresco.enableMultiThreadedTracking=true
|
||||
alfresco.corePoolSize=3
|
||||
alfresco.maximumPoolSize=-1
|
||||
alfresco.keepAliveTime=120
|
||||
alfresco.threadPriority=5
|
||||
alfresco.threadDaemon=true
|
||||
alfresco.workQueueSize=-1
|
||||
|
||||
# HTTP Client
|
||||
|
||||
alfresco.maxTotalConnections=40
|
||||
alfresco.maxHostConnections=40
|
||||
|
||||
# SOLR caching
|
||||
|
||||
solr.filterCache.size=512
|
||||
solr.filterCache.initialSize=512
|
||||
solr.queryResultCache.size=512
|
||||
solr.queryResultCache.initialSize=512
|
||||
solr.documentCache.size=512
|
||||
solr.documentCache.initialSize=512
|
||||
solr.queryResultMaxDocsCached=200
|
||||
|
||||
solr.authorityCache.size=512
|
||||
solr.authorityCache.initialSize=512
|
||||
solr.pathCache.size=512
|
||||
solr.pathCache.initialSize=512
|
||||
|
||||
# SOLR
|
||||
|
||||
solr.maxBooleanClauses=10000
|
||||
|
||||
#
|
||||
# TODO
|
||||
#
|
||||
# cross language support
|
||||
# locale expansion
|
||||
# logging check report ....
|
||||
#
|
||||
#
|
File diff suppressed because it is too large
Load Diff
@@ -1,103 +0,0 @@
|
||||
#
|
||||
# solrcore.properties - used in solrconfig.xml
|
||||
#
|
||||
# data is in ${data.dir.root}/${data.dir.store}
|
||||
|
||||
data.dir.root=${alfresco.solr.dir}
|
||||
data.dir.store=workspace/SpacesStore
|
||||
enable.alfresco.tracking=true
|
||||
cache.alfresco.size=100
|
||||
max.field.length=2147483647
|
||||
|
||||
|
||||
#
|
||||
# Properties loaded during alfresco tracking
|
||||
#
|
||||
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.port.ssl=8443
|
||||
alfresco.baseUrl=/alfresco
|
||||
alfresco.cron=0/15 * * * * ? *
|
||||
alfresco.stores=workspace://SpacesStore
|
||||
#alfresco.index.transformContent=false
|
||||
#alfresco.ignore.datatype.1=d:content
|
||||
alfresco.lag=1000
|
||||
alfresco.hole.retention=3600000
|
||||
# alfresco.hole.check.after is not used yet
|
||||
# It will reduce the hole checking load
|
||||
alfresco.hole.check.after=300000
|
||||
alfresco.batch.count=1000
|
||||
|
||||
# encryption
|
||||
|
||||
# none, https
|
||||
alfresco.secureComms=none
|
||||
|
||||
# ssl
|
||||
alfresco.encryption.ssl.keystore.type=JCEKS
|
||||
alfresco.encryption.ssl.keystore.provider=
|
||||
alfresco.encryption.ssl.keystore.location=ssl.repo.client.keystore
|
||||
alfresco.encryption.ssl.keystore.passwordFileLocation=ssl-keystore-passwords.properties
|
||||
alfresco.encryption.ssl.truststore.type=JCEKS
|
||||
alfresco.encryption.ssl.truststore.provider=
|
||||
alfresco.encryption.ssl.truststore.location=ssl.repo.client.truststore
|
||||
alfresco.encryption.ssl.truststore.passwordFileLocation=ssl-truststore-passwords.properties
|
||||
|
||||
# Tracking
|
||||
|
||||
alfresco.enableMultiThreadedTracking=true
|
||||
alfresco.corePoolSize=3
|
||||
alfresco.maximumPoolSize=-1
|
||||
alfresco.keepAliveTime=120
|
||||
alfresco.threadPriority=5
|
||||
alfresco.threadDaemon=true
|
||||
alfresco.workQueueSize=-1
|
||||
|
||||
# HTTP Client
|
||||
|
||||
alfresco.maxTotalConnections=40
|
||||
alfresco.maxHostConnections=40
|
||||
|
||||
# SOLR caching
|
||||
|
||||
solr.filterCache.size=512
|
||||
solr.filterCache.initialSize=512
|
||||
solr.queryResultCache.size=1024
|
||||
solr.queryResultCache.initialSize=1024
|
||||
solr.documentCache.size=512
|
||||
solr.documentCache.initialSize=512
|
||||
solr.queryResultMaxDocsCached=2000
|
||||
|
||||
solr.authorityCache.size=512
|
||||
solr.authorityCache.initialSize=512
|
||||
solr.pathCache.size=512
|
||||
solr.pathCache.initialSize=512
|
||||
|
||||
# SOLR
|
||||
|
||||
solr.maxBooleanClauses=10000
|
||||
|
||||
# Batch fetch
|
||||
|
||||
alfresco.transactionDocsBatchSize=100
|
||||
alfresco.changeSetAclsBatchSize=100
|
||||
alfresco.aclBatchSize=10
|
||||
|
||||
# Warming
|
||||
|
||||
solr.filterCache.autowarmCount=128
|
||||
solr.authorityCache.autowarmCount=0
|
||||
solr.pathCache.autowarmCount=128
|
||||
|
||||
solr.queryResultWindowSize=200
|
||||
|
||||
|
||||
#
|
||||
# TODO
|
||||
#
|
||||
# cross language support
|
||||
# locale expansion
|
||||
# logging check report ....
|
||||
#
|
||||
#
|
@@ -1,175 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.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.
|
||||
-->
|
||||
|
||||
<web-app>
|
||||
|
||||
<!-- Uncomment if you are trying to use a Resin version before 3.0.19.
|
||||
Their XML implementation isn't entirely compatible with Xerces.
|
||||
Below are the implementations to use with Sun's JVM.
|
||||
<system-property javax.xml.xpath.XPathFactory=
|
||||
"com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl"/>
|
||||
<system-property javax.xml.parsers.DocumentBuilderFactory=
|
||||
"com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/>
|
||||
<system-property javax.xml.parsers.SAXParserFactory=
|
||||
"com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"/>
|
||||
-->
|
||||
|
||||
<!-- People who want to hardcode their "Solr Home" directly into the
|
||||
WAR File can set the JNDI property here...
|
||||
-->
|
||||
<!--
|
||||
<env-entry>
|
||||
<env-entry-name>solr/home</env-entry-name>
|
||||
<env-entry-value>/put/your/solr/home/here</env-entry-value>
|
||||
<env-entry-type>java.lang.String</env-entry-type>
|
||||
</env-entry>
|
||||
-->
|
||||
|
||||
<!-- Any path (name) registered in solrconfig.xml will be sent to that filter -->
|
||||
<filter>
|
||||
<filter-name>SolrRequestFilter</filter-name>
|
||||
<filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
|
||||
<!-- If you are wiring Solr into a larger web application which controls
|
||||
the web context root, you will probably want to mount Solr under
|
||||
a path prefix (app.war with /app/solr mounted into it, for example).
|
||||
You will need to put this prefix in front of the SolrDispatchFilter
|
||||
url-pattern mapping too (/solr/*), and also on any paths for
|
||||
legacy Solr servlet mappings you may be using.
|
||||
For the admin JSP's to work properly in a path-prefixed configuration,
|
||||
the admin folder containing the JSPs needs to be under the app context root
|
||||
named to match the path-prefix. For example:
|
||||
|
||||
.war
|
||||
xxx
|
||||
admin
|
||||
stats.jsp
|
||||
-->
|
||||
<!--
|
||||
<init-param>
|
||||
<param-name>path-prefix</param-name>
|
||||
<param-value>/xxx</param-value>
|
||||
</init-param>
|
||||
-->
|
||||
</filter>
|
||||
|
||||
<filter-mapping>
|
||||
<!--
|
||||
NOTE: When using multicore, /admin JSP URLs with a core specified
|
||||
such as /solr/coreName/admin/stats.jsp get forwarded by a
|
||||
RequestDispatcher to /solr/admin/stats.jsp with the specified core
|
||||
put into request scope keyed as "org.apache.solr.SolrCore".
|
||||
|
||||
It is unnecessary, and potentially problematic, to have the SolrDispatchFilter
|
||||
configured to also filter on forwards. Do not configure
|
||||
this dispatcher as <dispatcher>FORWARD</dispatcher>.
|
||||
-->
|
||||
<filter-name>SolrRequestFilter</filter-name>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- Otherwise it will continue to the old servlets -->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>SolrServer</servlet-name>
|
||||
<display-name>Solr</display-name>
|
||||
<description>Solr Server</description>
|
||||
<servlet-class>org.apache.solr.servlet.SolrServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>SolrUpdate</servlet-name>
|
||||
<display-name>SolrUpdate</display-name>
|
||||
<description>Solr Update Handler</description>
|
||||
<servlet-class>org.apache.solr.servlet.SolrUpdateServlet</servlet-class>
|
||||
<load-on-startup>2</load-on-startup>
|
||||
</servlet>
|
||||
|
||||
<servlet>
|
||||
<servlet-name>Logging</servlet-name>
|
||||
<servlet-class>org.apache.solr.servlet.LogLevelSelection</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<!-- @Deprecated -->
|
||||
<servlet>
|
||||
<servlet-name>ping</servlet-name>
|
||||
<jsp-file>/admin/ping.jsp</jsp-file>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>SolrServer</servlet-name>
|
||||
<url-pattern>/select/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>SolrUpdate</servlet-name>
|
||||
<url-pattern>/update/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>Logging</servlet-name>
|
||||
<url-pattern>/admin/logging</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- @Deprecated -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>ping</servlet-name>
|
||||
<url-pattern>/admin/ping</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- @Deprecated -->
|
||||
<servlet-mapping>
|
||||
<servlet-name>Logging</servlet-name>
|
||||
<url-pattern>/admin/logging.jsp</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<mime-mapping>
|
||||
<extension>.xsl</extension>
|
||||
<!-- per http://www.w3.org/TR/2006/PR-xslt20-20061121/ -->
|
||||
<mime-type>application/xslt+xml</mime-type>
|
||||
</mime-mapping>
|
||||
<!--
|
||||
| Needs to be commented out to use HTTP
|
||||
| Uncomment to re-renable https alongside changing alfresco.secureComms=https
|
||||
| in the solrcore.properties
|
||||
|
|
||||
-->
|
||||
<!--
|
||||
<security-constraint>
|
||||
<web-resource-collection>
|
||||
<url-pattern>/*</url-pattern>
|
||||
</web-resource-collection>
|
||||
<auth-constraint>
|
||||
<role-name>repository</role-name>
|
||||
</auth-constraint>
|
||||
<user-data-constraint>
|
||||
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
|
||||
</user-data-constraint>
|
||||
</security-constraint>
|
||||
|
||||
<login-config>
|
||||
<auth-method>CLIENT-CERT</auth-method>
|
||||
<realm-name>Solr</realm-name>
|
||||
</login-config>
|
||||
|
||||
<security-role>
|
||||
<role-name>repository</role-name>
|
||||
</security-role>
|
||||
-->
|
||||
</web-app>
|
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
<artifactId>wcmqs</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<name>Alfresco Web Quick Start customization</name>
|
||||
<description>This project allows you to customize and overlay Alfresco Web Quick Start</description>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-wcm-quickstart</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<overlays>
|
||||
<!-- The current project customizations -->
|
||||
<overlay />
|
||||
<!-- The Alfresco WCMQS War -->
|
||||
<overlay>
|
||||
<artifactId>alfresco-wcm-quickstart</artifactId>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@@ -1,55 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "../dtd/log4j.dtd">
|
||||
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
|
||||
|
||||
<!-- Appenders -->
|
||||
<appender name="console" class="org.apache.log4j.ConsoleAppender">
|
||||
<param name="Target" value="System.out" />
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
|
||||
<param name="File" value="${app.log.dir}webquickstart.log" />
|
||||
<param name="Append" value="true" />
|
||||
<param name="Encoding" value="UTF-8" />
|
||||
<param name="DatePattern" value="'.'yyyy-MM-dd" />
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] %m%n" />
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!-- Application Loggers -->
|
||||
<logger name="org.alfresco.samples.quickstart">
|
||||
<level value="warn" />
|
||||
</logger>
|
||||
|
||||
<!-- 3rdparty Loggers -->
|
||||
<logger name="org.springframework.core">
|
||||
<level value="warn" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.beans">
|
||||
<level value="warn" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.context">
|
||||
<level value="warn" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.springframework.web">
|
||||
<level value="warn" />
|
||||
</logger>
|
||||
|
||||
<logger name="org.alfresco.wcm">
|
||||
<level value="warn" />
|
||||
</logger>
|
||||
|
||||
<!-- Root Logger -->
|
||||
<root>
|
||||
<priority value="${app.log.root.level}" />
|
||||
<appender-ref ref="console" />
|
||||
<appender-ref ref="file" />
|
||||
</root>
|
||||
|
||||
</log4j:configuration>
|
@@ -1,25 +1,25 @@
|
||||
------
|
||||
Alfresco Maven All-in-One Archetype Advanced Usage
|
||||
Alfresco All-in-One Archetype Advanced Usage
|
||||
------
|
||||
Gabriele Columbro
|
||||
------
|
||||
Nov 2012
|
||||
Aug 2014
|
||||
------
|
||||
|
||||
|
||||
All-in-One Archetype properties
|
||||
|
||||
In each of the modules of the archetype (as in the whole Maven Alfresco SDK\x99) properties are configurable at many levels:
|
||||
In each of the modules of the archetype (as in the whole Alfresco SDK\x99) properties are configurable at many levels:
|
||||
|
||||
* as POM properties
|
||||
|
||||
* direclty in *.properties, particularly
|
||||
|
||||
* For Alfresco WAR projects
|
||||
* For the <<<repo>>> project
|
||||
|
||||
* <<<src/main/properties/<env>/alfresco-global.properties>>> (environment dependent <<<alfresco-global.properties>>> packaged in the WAR )
|
||||
* <<<src/main/properties/<env>/alfresco-global.properties>>> (environment dependent <<<alfresco-global.properties>>> packaged in the WAR when running directly within the AMP project)
|
||||
|
||||
* For Alfresco AMP projects
|
||||
* For Alfresco/Share AMP projects
|
||||
|
||||
* <<<src/test/properties/<env>/alfresco-global.properties>>> (environment dependent <<<alfresco-global.properties>>> for test WAR run)
|
||||
|
||||
@@ -36,4 +36,4 @@ Parent POM and behavior customization
|
||||
To customize the behavior of your project, check out full set of the properties and plugin configurations defined in the
|
||||
{{{./poms/alfresco-sdk-parent/index.html}single entry point parent POM}}.
|
||||
|
||||
One quick way to do that is to use the <<<maven-help-plugin:effective-pom>>> to analyze your POM at runtime.
|
||||
One quick way to do that is to use the <<<maven-help-plugin:effective-pom>>> to analyze your POM at runtime.
|
||||
|
@@ -9,7 +9,7 @@
|
||||
Introduction
|
||||
|
||||
The Alfresco All-in-One Archetype is a multi-module project,
|
||||
leveraging Maven Alfresco SDK\x99 powerful capabilities to customize and run the full Alfresco platform embedded and all it's components.
|
||||
leveraging Alfresco SDK\x99 powerful capabilities to customize and run the full Alfresco platform embedded and all it's components.
|
||||
The archetype does not require additional download and provides a perfect starting point for full-blown Alfresco projects.
|
||||
|
||||
* Features
|
||||
@@ -20,29 +20,48 @@ Introduction
|
||||
|
||||
* AMP Dependency management and overlay in an Alfresco Repository or Share WAR
|
||||
|
||||
* Embedded run in Jetty and embedded H2 database of the full Alfresco suite, including Repository, Share, Solr and Web Quick Start
|
||||
* Embedded run in Tomcat and embedded H2 database of the full Alfresco suite, including Repository, Share, Solr
|
||||
|
||||
* Support for unit and integration testings
|
||||
* Support for unit and integration testing and rapid development (using spring-loaded, see run.sh)
|
||||
|
||||
* Seamless IDE integration with Eclipse and Idea
|
||||
|
||||
How to create a project:
|
||||
|
||||
You can create the latest release archetype with the following command:
|
||||
As of version 2.0-beta-3, you can create a project with the latest released archetype with the following command directly from Maven Central:
|
||||
|
||||
+---+
|
||||
mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml
|
||||
mvn archetype:generate -Dfilter=org.alfresco.maven.archetype:alfresco-allinone-archetype
|
||||
+---+
|
||||
|
||||
For previous versions, you need to use the Alfresco Artifacts repository:
|
||||
|
||||
+---+
|
||||
mvn archetype:generate -Dfilter=org.alfresco.maven.archetype:alfresco-allinone-archetype -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml
|
||||
+---+
|
||||
|
||||
You should then:
|
||||
|
||||
[[1]] Select the <<<alfresco-allinone-archetype>>> option
|
||||
[[1]] Select the <<<alfresco-allinone-archetype>>> version
|
||||
|
||||
[[2]] Specify the <<<groupId>>> and <<<artifactId>>> for the project you want to create
|
||||
|
||||
[[3]] (<Optionally>) Select Alfresco Version / Edition (current default is: Alfresco Community 4.2.b)
|
||||
[[3]] (<Optionally>) Select Alfresco Version / Edition (current default is: Alfresco Community 5.0.c)
|
||||
|
||||
You can find new Alfresco All-in-One project ready to go in the <<<artifactId>>> folder.
|
||||
|
||||
Quickstart
|
||||
|
||||
Once your project is created:
|
||||
|
||||
* Enter the project folder and run <<<./run.sh>>> (you might need to <<<chmod u+x run.sh>>> to make it executable). This will setup the SDK and start Alfresco, Share and Solr in embedded mode.
|
||||
|
||||
* Wait for the startup of the webapps and then go <<<http://localhost:8080>>>.
|
||||
|
||||
* Import the projects in your favorite IDE (with Maven integration) and start developing right away.
|
||||
|
||||
Usage
|
||||
|
||||
Instructions on how to use the Alfresco AMP archetype can be found on the {{{./usage.html}usage page}}, while
|
||||
|
||||
Full instructions on how to use the Alfresco All in One archetype can be found on the {{{./usage.html}usage page}}, while
|
||||
for more advanced use cases refer to the {{{./advanced-usage.html}advanced usage page}}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
------
|
||||
Alfresco Maven All-in-One Archetype Usage
|
||||
Maven Alfresco All-in-One Archetype Usage
|
||||
------
|
||||
Gabriele Columbro
|
||||
------
|
||||
Nov 2012
|
||||
Sep 2013
|
||||
------
|
||||
|
||||
Prerequisites
|
||||
@@ -16,40 +16,42 @@ Project layout
|
||||
|
||||
+---+
|
||||
pom.xml
|
||||
|-> amp
|
||||
|-> alfresco
|
||||
|-> repo-amp
|
||||
|-> repo
|
||||
|-> share-amp
|
||||
|-> share
|
||||
|-> solr
|
||||
|-> wcmqs (Alfresco Web Quick Start)
|
||||
|-> runner (a Jetty embedded runner / integration test runner)
|
||||
|-> runner (a Tomcat embedded runner / integration test runner)
|
||||
+---+
|
||||
|
||||
* Modules
|
||||
|
||||
The All-in-One Alfresco project is composed by the following modules:
|
||||
|
||||
* <<<amp>>>: An Repository Tier AMP project, demonstrating sample project structure and demo component loading. It can be configured to work for Share
|
||||
* <<<repo-amp>>>: An Repository Tier AMP project, demonstrating sample project structure and demo component loading
|
||||
|
||||
* <<<alfresco>>>: An <<<alfresco.war>>> Repository Extension, overlaying the Alfresco WAR with custom resources / classes
|
||||
* <<<repo>>>: An <<<alfresco.war>>> Repository Extension, overlaying the Alfresco WAR with custom resources / classes
|
||||
and depending on the <<<amp>>> project
|
||||
|
||||
* <<<share>>>: A <<<share.war>>> extension, overlaying the Share WAR with custom resoruces / classes
|
||||
* <<<share-amp>>>: A Share Tier AMP project, demonstrating sample project structure and demo component loading
|
||||
|
||||
* <<<share>>>: A <<<share.war>>> extension, overlaying the Share WAR with the custom developed <<<share-amp>>>
|
||||
|
||||
* <<<solr>>>: An Alfresco <<<alfresco-*-*-solr.zip>>> overlay / customization to configure {{{http://solr.apache.org}Apache Solr}} cores properties
|
||||
|
||||
* <<<wcmqs>>>: An Alfresco Web Quick Start overlay / customization. WQS Repository and Share AMPs are also installed on Alfresco and Share.
|
||||
|
||||
* <<<runner>>>: A Jetty + H2 runner, capable of running all the aforementioned projects in embedded mode for demo / integration-testing purposes
|
||||
* <<<runner>>>: A Tomcat + H2 runner, capable of running all the aforementioned projects in embedded mode for demo / integration-testing purposes
|
||||
|
||||
Usage
|
||||
|
||||
The project provides support for typical development lifecycle use cases like
|
||||
|
||||
* Rapid development, in full IDE integration, and with hot classes reloading (using spring-loaded, check {{{../../prerequisites.html}prerequisites}}).
|
||||
|
||||
* AMP/WAR packaging
|
||||
|
||||
* AMP Unit testing
|
||||
* AMP Unit testing and rapid development
|
||||
|
||||
* run embedded in Jetty + H2 database.
|
||||
* run embedded in Tomcat + H2 database.
|
||||
(<<NOTE>>: this is not a {{{http://www.alfresco.com/services/subscription/supported-platforms/} supported stack}} so use <<only for development purposes>>)
|
||||
|
||||
* Integration testing
|
||||
@@ -60,13 +62,13 @@ Usage
|
||||
|
||||
for all the components of the Alfresco landscape. For more information, check the See the {{{./advanced-usage.html}advanced usage page}} page.
|
||||
|
||||
<<NOTE>>: AMPs produced with this project are fully compatible with Alfresco MMT,in fact the Alfresco Maven plugin - used to manage AMPs in this SDK - embeds the official Alfresco MMT to install depended AMPs.
|
||||
<<NOTE>>: AMPs produced with this project are fully compatible with Alfresco MMT,in fact the Maven Alfresco plugin - used to manage AMPs in this SDK - embeds the official Alfresco MMT to install depended AMPs.
|
||||
|
||||
Commands
|
||||
|
||||
* Commands from the root aggregator project
|
||||
<<<run.sh>>> will automatically set up the SDK and run the webapps embedded to enable rapid development
|
||||
|
||||
Common Alfresco project lifecycle commands you want to run from the aggregator :
|
||||
Additional common Maven lifecycle commands you want to run from the aggregator are:
|
||||
|
||||
* <<<mvn package>>>: Runs unit tests and packages all customized modules in their respective <<<$\{project.build.directory\}/$\{project.build.finalName\}.amp>>>
|
||||
|
||||
@@ -80,4 +82,4 @@ Commands
|
||||
|
||||
* Commands from from the <<<runner>>> project
|
||||
|
||||
* <<<mvn jetty:run -Prun'>>> or <<<'mvn integration-test -Prun'>>> to quickly run already packaged webapps
|
||||
* <<<mvn install -Prun'>>> or <<<'mvn integration-test -Prun'>>> to quickly run already packaged webapps
|
||||
|
@@ -1,7 +1,21 @@
|
||||
<project>
|
||||
<body>
|
||||
<menu ref="parent" inherit="bottom"/>
|
||||
|
||||
<!-- <menu ref="parent" inherit="bottom"/> -->
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
|
||||
var _gaq = _gaq || [];
|
||||
_gaq.push(['_setAccount', '${gaTrackingId}']);
|
||||
_gaq.push(['_trackPageview']);
|
||||
|
||||
(function() {
|
||||
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
||||
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
||||
})();
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<menu name="Alfresco All-in-One Archetype">
|
||||
<item name="Introduction" href="index.html"/>
|
||||
<item name="Usage" href="usage.html"/>
|
||||
@@ -9,16 +23,18 @@
|
||||
</menu>
|
||||
|
||||
<menu name="SDK components">
|
||||
<item name="Maven Alfresco SDK" href="../../index.html" />
|
||||
<item name="Alfresco AMP Archetype" href="../alfresco-amp-archetype/index.html" />
|
||||
<item name="Alfresco All-in-One Archetype" href="./index.html" />
|
||||
<item name="Alfresco SDK Parent POM" href="../../poms/alfresco-sdk-parent/index.html" />
|
||||
<item name="Alfresco Platform Distribution POM" href="https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-platform-distribution/latest/index.html" />
|
||||
<item name="Alfresco Maven Plugin" href="../../plugins/alfresco-maven-plugin/index.html" />
|
||||
<item name="Maven Alfresco SDK" href="../../index.html" />
|
||||
<item name="Alfresco AMP Archetype" href="../alfresco-amp-archetype/index.html" />
|
||||
<item name="Share AMP Archetype" href="../share-amp-archetype/index.html" />
|
||||
<item name="Alfresco All-in-One Archetype" href="./index.html" />
|
||||
<item name="Maven Alfresco SDK Parent POM" href="../../poms/alfresco-sdk-parent/index.html" />
|
||||
<item name="Alfresco Platform Distribution POM" href="https://artifacts.alfresco.com/nexus/content/repositories/alfresco-docs/alfresco-platform-distribution/latest/index.html" />
|
||||
<item name="Maven Alfresco Plugin" href="../../plugins/alfresco-maven-plugin/index.html" />
|
||||
</menu>
|
||||
|
||||
<menu name="Maven Alfresco Community">
|
||||
<item name="Alfresco Maven Wiki Docs" href="http://wiki.alfresco.com/wiki/Maven_Alfresco_SDK" />
|
||||
<menu name="Alfresco Documentation">
|
||||
<item name="Official Maven Alfresco SDK docs" href="http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html" />
|
||||
<item name="Maven Alfresco Wiki Documentation" href="http://wiki.alfresco.com/wiki/Maven_Alfresco_SDK" />
|
||||
<item name="Alfresco with Maven for Dummies" href="https://wiki.alfresco.com/wiki/Maven_For_Dummies" />
|
||||
<item name="Developer Access (Google Code)" href="http://code.google.com/p/maven-alfresco-archetypes/" />
|
||||
<item name="Gabriele Columbro's blog" href="http://www.mindthegab.com/" />
|
||||
|
@@ -0,0 +1,4 @@
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=allInOneTest
|
||||
package=it.pkg
|
@@ -0,0 +1 @@
|
||||
verify
|
@@ -0,0 +1,5 @@
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=allInOneTestRunEnterprise
|
||||
package=it.pkg
|
||||
|
@@ -0,0 +1 @@
|
||||
verify -Prun -Penterprise -Dmaven.tomcat.fork=true
|
@@ -0,0 +1,4 @@
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=allInOneTestRun
|
||||
package=it.pkg
|
@@ -0,0 +1 @@
|
||||
verify -Prun -Dmaven.tomcat.fork=true
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user