mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
80 Commits
alfresco-l
...
alfresco-s
Author | SHA1 | Date | |
---|---|---|---|
|
661982b7bb | ||
|
292a90ac3a | ||
|
c625cccd3b | ||
|
fd8708c2f3 | ||
|
d367cf4a00 | ||
|
e354786112 | ||
|
ccdd59657f | ||
|
760d970240 | ||
|
3f44c3be58 | ||
|
b55d13b0d0 | ||
|
a37e89f34b | ||
|
351a81f4f0 | ||
|
addad0866f | ||
|
ba31887533 | ||
|
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 |
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>
|
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.
|
51
README.md
Normal file
51
README.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# [](#features) Maven Alfresco SDK
|
||||
|
||||
The Alfresco SDK based on Apache Maven, includes support for rapid and standard development, testing, packaging, versioning and release of your Alfresco integration and extension projects.
|
||||
|
||||
It is composed of:
|
||||
|
||||
- An [SDK Parent POM](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/poms/alfresco-sdk-parent/index.html) which you can use in your projects to enable rapid Alfresco development features
|
||||
- An [Alfresco Platform Distribution POM](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-platform-distribution/latest/index.html) which pre-configures versions of Alfresco and common 3rd party dependency libraries, for stability purposes
|
||||
- An Alfresco [Maven Plugin](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/plugins/alfresco-maven-plugin/index.html) which provides AMP packaging and installation facitilites (a la MMT) and other common goals for Alfresco development
|
||||
- A number of *Maven Archetypes* (sample projects) including:
|
||||
1. [Alfresco Repository AMP Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-amp-archetype/index.html)
|
||||
2. [Alfresco Share AMP Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/share-amp-archetype/index.html)
|
||||
3. [Alfresco All-in-One Archetype](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/archetypes/alfresco-allinone-archetype/index.html)
|
||||
|
||||
## Resources
|
||||
|
||||
### Developer docs
|
||||
|
||||
**SDK 2.x**: Full documentation is available at the [Maven Alfresco SDK site](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html).
|
||||
|
||||
**SDK 1.x**: Full documentation is available at the [Maven Alfresco SDK site](https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-lifecycle-aggregator/latest/index.html).
|
||||
|
||||
### Alfresco Official docs
|
||||
|
||||
Additional documentation for Alfresco Community and Enterprise, tutorials and examples is available in the [Alfresco Docs](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html).
|
||||
|
||||
### Samples
|
||||
|
||||
Advanced sample projects are maintained by @ohej in the [Alfresco SDK Samples project](https://github.com/Alfresco/alfresco-sdk-samples/).
|
||||
|
||||
|
||||
### Contribute
|
||||
|
||||
Report issues (and contribute!) [here](https://github.com/Alfresco/alfresco-sdk/issues?milestone=1&state=open). You can also join the [Maven Alfresco list on Google Groups](https://groups.google.com/forum/#!forum/maven-alfresco).
|
||||
|
||||
## Maven Repositories
|
||||
|
||||
The Alfresco Maven SDK is released in Maven Central as of version 2.0-beta-1. Alfresco (Community and Enterprise) artifacts are instead hosted in the [Alfresco Artifacts Repository](https://artifacts.alfresco.com/nexus/).
|
||||
|
||||
Alfresco Community artifacts (JARs, WARs, AMPs, poms) and SDK artifacts are publicly available.
|
||||
|
||||
for Enterprise and Premiere licensed software access you need to get credential via the Alfresco Enterprise Support. See [public docs](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html) or [this KB (login required)](https://myalfresco.force.com/support/articles/en_US/Technical_Article/Where-can-I-find-the-repository-for-Enterprise-Maven-artifacts) for more details.
|
||||
|
||||
## License and Support
|
||||
This project is released under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). It's a community driven project which is supported for Alfresco Development (please refere to the official [Alfresco Docs](http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-intro.html) for supported features.
|
||||
|
||||
## News
|
||||
|
||||
- 2014-08-22: First SNAPSHOT of SDK 2.0.0 in the [OSS Sonatype Repository](https://oss.sonatype.org/content/repositories/snapshots/org/alfresco/maven/alfresco-sdk-parent/2.0.0-SNAPSHOT/)!
|
||||
- 2014-07: Project fully migrated from [Google Code](https://code.google.com/p/maven-alfresco-archetypes), including tags, branches, issues. Allow a little time for a full cleanup of issue labels and to sort repository permissions. Please update obsolete references and bear with us as we update Alfresco Docs to this change.
|
||||
|
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
|
||||
|
@@ -6,12 +6,12 @@
|
||||
<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>
|
||||
<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.2</version>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.0.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<configuration>
|
||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||
<delimiters>
|
||||
|
@@ -10,14 +10,51 @@
|
||||
<defaultValue>org.alfresco</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_version">
|
||||
<defaultValue>4.2.c</defaultValue>
|
||||
<defaultValue>5.0.a</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="package">
|
||||
<defaultValue>(not used)</defaultValue>
|
||||
</requiredProperty>
|
||||
</requiredProperties>
|
||||
<modules>
|
||||
<module id="amp" dir="amp" name="amp">
|
||||
<module id="repo-amp" dir="repo-amp" name="repo-amp">
|
||||
<fileSets>
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/amp/config/alfresco/extension/templates/webscripts</directory>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="share-amp" dir="share-amp" name="share-amp">
|
||||
<fileSets>
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
@@ -37,6 +74,12 @@
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
@@ -44,21 +87,16 @@
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>jetty</directory>
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
<module id="alfresco" dir="alfresco" name="alfresco">
|
||||
|
||||
<module id="repo" dir="repo" name="repo">
|
||||
<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>
|
||||
@@ -73,6 +111,7 @@
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
|
||||
<module id="solr" dir="solr" name="solr" filtered="false">
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8">
|
||||
@@ -96,14 +135,9 @@
|
||||
</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>
|
||||
@@ -118,37 +152,15 @@
|
||||
</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>
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
</modules>
|
||||
</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,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>
|
@@ -20,10 +20,13 @@
|
||||
-->
|
||||
<properties>
|
||||
<!--
|
||||
| Defines the Alfresco GroupId \ Edition to work against. Allowed values are: org.alfresco | org.alfresco.enterprise
|
||||
| NOTE: Please Refer to Alfresco Support for access to Enterprise artifacts -->
|
||||
| Defines the groupId for the Alfresco Artifacts to work against. As of 4.2 the only allowed value is: org.alfresco
|
||||
| NOTE: See http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html for details
|
||||
-->
|
||||
<alfresco.groupId>${alfresco_target_groupId}</alfresco.groupId>
|
||||
<!-- Defines the Alfresco version to work against. Allowed values are: org.alfresco | org.alfresco.enterprise -->
|
||||
<!-- Defines the Alfresco version to work against.
|
||||
Community versions are typically identified by major.minor.character (4.2.a) while Enterprise versions are identified by major.minor.digit (4.2.0)
|
||||
-->
|
||||
<alfresco.version>${alfresco_target_version}</alfresco.version>
|
||||
<!-- This control the root logging level for all apps -->
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
@@ -50,23 +53,20 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<!-- This repository is only needed to retrieve Alfresco parent POM.
|
||||
NOTE: This can be removed when/if Alfresco will be on Maven Central
|
||||
|
||||
NOTE: The repository to be used for Alfresco Enterprise artifacts is
|
||||
https://artifacts.alfresco.com/nexus/content/groups/private/. Please check
|
||||
with Alfresco Support to get credentials to add to your ~/.m2/settings.xml
|
||||
if you are a Enterprise customer or Partner
|
||||
-->
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>alfresco-public</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-public-snapshots</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<!-- Invoke your build with -Prun to run the multimodule project and enable rapid dev mode in your IDE.
|
||||
See 'run' profile in the sub modules pom.xml for further behavioral details.
|
||||
-->
|
||||
<profiles>
|
||||
<profile>
|
||||
<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,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<name>Alfresco repository AMP Module</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>This is a sample Alfresco repository 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>
|
||||
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
|
||||
. | Allowed values: alfresco | share. Defaults to a repository AMP, but could point to your custom corporate Alfresco WAR -->
|
||||
<alfresco.client.war>alfresco</alfresco.client.war>
|
||||
<!-- Defines the target WAR groupId to run this amp, only used with the -Pamp-to-war profile
|
||||
. | Could be org.alfresco or your corporate groupId -->
|
||||
<!-- <alfresco.client.war.groupId>org.alfresco</alfresco.client.war.groupId> -->
|
||||
<!-- Defines the target WAR version to run this amp, only used with the -Pamp-to-war profile -->
|
||||
<!-- <alfresco.client.war.version>${alfresco.version}</alfresco.client.war.version> -->
|
||||
</properties>
|
||||
|
||||
</project>
|
@@ -0,0 +1,7 @@
|
||||
<webscript>
|
||||
<shortname>Javascript 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: ${message}
|
@@ -0,0 +1 @@
|
||||
model["message"] = "Hello World!";
|
@@ -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!
|
@@ -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,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- This file is included only when running this project with -Pamp-to-war -->
|
||||
<Context docBase="${alfresco.client.war.folder}" path="${alfresco.client.contextPath}">
|
||||
|
||||
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
|
||||
|
||||
|
||||
<Loader searchVirtualFirst="true" className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.testOutputDirectory};${project.build.directory}/${project.build.finalName}/config" />
|
||||
|
||||
<!--
|
||||
<Environment override="false" type="java.lang.Boolean" name="properties/startup.enable" description="A flag that globally enables or disables startup of the major Alfresco subsystems." value="true"/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/dir.root" description="The filesystem directory below which content and index data is stored. Should be on a shared disk if this is a clustered installation."/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.dialect" description="The fully qualified name of a org.hibernate.dialect.Dialect subclass that allows Hibernate to generate SQL optimized for a particular relational database. Choose from org.hibernate.dialect.DerbyDialect, org.hibernate.dialect.MySQLInnoDBDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSybaseAnywhereDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSQLServerDialect, org.hibernate.dialect.PostgreSQLDialect"/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.query.substitutions" description="Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to "true TRUE, false FALSE"."/>
|
||||
<Environment override="false" type="java.lang.Boolean" name="properties/hibernate.jdbc.use_get_generated_keys" description="Enable use of JDBC3 PreparedStatement.getGeneratedKeys() to retrieve natively generated keys after insert. Requires JDBC3+ driver. Set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.default_schema" description="Qualify unqualified table names with the given schema/tablespace in generated SQL. It may be necessary to set this when the target database has more than one schema."/>
|
||||
-->
|
||||
|
||||
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
|
||||
</Context>
|
@@ -0,0 +1,153 @@
|
||||
<?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, installs your AMPs in the Alfresco WAR for aggregation purposes</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco</artifactId>
|
||||
<type>war</type>
|
||||
</dependency>
|
||||
<!-- Demonstrating the dependency / installation of the repo AMP developed in the 'repo-amp' module -->
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>repo-amp</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
<!-- Demonstrating the usage of a well known GA AMP (SharePoint Protocol Support) -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-spp</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>amp</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<configuration>
|
||||
<!-- Here is can control the order of overlay of your (WAR, AMP, etc.) dependencies
|
||||
| NOTE: At least one WAR dependency must be uncompressed first
|
||||
| NOTE: In order to have a dependency effectively added to the WAR you need to
|
||||
| explicitly mention it in the overlay section.
|
||||
| NOTE: First-win resource strategy is used by the WAR plugin
|
||||
-->
|
||||
<overlays>
|
||||
<!-- Current project customizations. This is normally empty, since customizations come from the AMPs -->
|
||||
<overlay/>
|
||||
<!-- The Alfresco WAR -->
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco</artifactId>
|
||||
<type>war</type>
|
||||
<!-- To allow inclusion of META-INF -->
|
||||
<excludes/>
|
||||
</overlay>
|
||||
<!-- Add / sort your AMPs here -->
|
||||
<overlay>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>repo-amp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
<overlay>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-spp</artifactId>
|
||||
<type>amp</type>
|
||||
</overlay>
|
||||
</overlays>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<profiles>
|
||||
<!-- Overrides the run profile to disable securecomms and add rapid development configuration -->
|
||||
<profile>
|
||||
<id>run</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>prepare-exploded-war</id>
|
||||
<goals>
|
||||
<goal>exploded</goal>
|
||||
</goals>
|
||||
<phase>prepare-package</phase>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>default-war</id>
|
||||
<configuration>
|
||||
<webXml>${project.build.directory}/${project.build.finalName}-nossl/WEB-INF/web.xml</webXml>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- Replaces web.xml where applicable, commenting out the security-constraints -->
|
||||
<plugin>
|
||||
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
||||
<artifactId>replacer</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>disable-securecomms</id>
|
||||
<phase>prepare-package</phase>
|
||||
<goals>
|
||||
<goal>replace</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<ignoreErrors>true</ignoreErrors>
|
||||
<file>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</file>
|
||||
<outputDir>${project.build.directory}/${project.build.finalName}-nossl/WEB-INF/</outputDir>
|
||||
<preserveDir>false</preserveDir>
|
||||
<replacements>
|
||||
<replacement>
|
||||
<token><![CDATA[<!-- Toggle securecomms placeholder start -->]]></token>
|
||||
<value><![CDATA[<!--]]></value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token><![CDATA[<!-- Toggle securecomms placeholder end -->]]></token>
|
||||
<value><![CDATA[-->]]></value>
|
||||
</replacement>
|
||||
</replacements>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<!-- Needed to fix http://code.google.com/p/maven-alfresco-archetypes/issues/detail?id=150 -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>jcl-over-slf4j</artifactId>
|
||||
<version>1.5.11</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
@@ -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 Solr Tomcat Runner</name>
|
||||
<packaging>pom</packaging>
|
||||
<description>Alfresco and Share Runner</description>
|
||||
<description>Alfresco, Share and Solr Tomcat Runner</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
@@ -15,58 +15,77 @@
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>run</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>run</name>
|
||||
</property>
|
||||
</activation>
|
||||
<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>
|
||||
<!-- Location of the Solr project, which is loaded via filesystem. Change if your Solr customization project lives in a different folder. -->
|
||||
<solr.project.dir>${project.basedir}/../solr</solr.project.dir>
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<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>
|
||||
<id>copy-tomcat-resources</id>
|
||||
<phase>prepare-package</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}/contexts</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>tomcat</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.tomcat.maven</groupId>
|
||||
<artifactId>tomcat7-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>run-wars</id>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<phase>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>
|
||||
<warSourceDirectory>${project.parent.basedir}/solr/target/solr-overlay</warSourceDirectory>
|
||||
<path>/solr</path>
|
||||
<useTestClasspath>false</useTestClasspath>
|
||||
<ignorePackaging>true</ignorePackaging>
|
||||
<useSeparateTomcatClassLoader>true</useSeparateTomcatClassLoader>
|
||||
<systemProperties>
|
||||
<systemProperty>
|
||||
<name>solr.solr.home</name>
|
||||
<value>${alfresco.solr.dir}</value>
|
||||
</systemProperty>
|
||||
<solr.solr.home>${project.parent.basedir}/solr/solr_home</solr.solr.home>
|
||||
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
|
||||
</systemProperties>
|
||||
<delegate>true</delegate>
|
||||
<webapps>
|
||||
<webapp>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>repo</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>war</type>
|
||||
<asWebapp>true</asWebapp>
|
||||
<contextPath>/alfresco</contextPath>
|
||||
<contextFile>${project.build.directory}/contexts/context-repo.xml</contextFile>
|
||||
</webapp>
|
||||
<webapp>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>share</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>war</type>
|
||||
<asWebapp>true</asWebapp>
|
||||
<contextPath>/share</contextPath>
|
||||
<contextFile>${project.build.directory}/contexts/context-share.xml</contextFile>
|
||||
</webapp>
|
||||
</webapps>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- This context file is used only for rapid development, never installed released with the webapp -->
|
||||
<Context>
|
||||
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext" extraResourcePaths="/=${project.parent.basedir}/repo-amp/target/repo-amp/web" />
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/repo-amp/target/classes;${project.parent.basedir}/repo-amp/target/test-classes;${project.parent.basedir}/repo-amp/target/repo-amp/config" />
|
||||
|
||||
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
</Context>
|
||||
|
||||
|
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- This context file is used only for rapid development, never installed released with the webapp -->
|
||||
<Context docBase="../share/target/share">
|
||||
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext" extraResourcePaths="/=${project.parent.basedir}/share-amp/target/share-amp/web" />
|
||||
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
searchVirtualFirst="true"
|
||||
virtualClasspath="${project.parent.basedir}/share-amp/target/classes;${project.parent.basedir}/share-amp/target/test-classes;${project.parent.basedir}/share-amp/target/share-amp/config" />
|
||||
|
||||
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
|
||||
</Context>
|
@@ -0,0 +1,48 @@
|
||||
<?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>Share AMP project</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>This is a sample Share AMP project, depended upon by the share WAR module</description>
|
||||
|
||||
<parent>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${rootArtifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
</parent>
|
||||
|
||||
<!--
|
||||
| SDK properties have sensible defaults in the SDK parent,
|
||||
| but you can override the properties below to use another version.
|
||||
| For more available properties see the alfresco-sdk-parent POM.
|
||||
-->
|
||||
<properties>
|
||||
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
|
||||
| Allowed values: alfresco | share. In this case it's configured to use OOTB share -->
|
||||
<alfresco.client.war>share</alfresco.client.war>
|
||||
|
||||
<!-- Since Alfresco is already running on port 8080, we run Share on port 8081 -->
|
||||
<maven.tomcat.port>8081</maven.tomcat.port>
|
||||
|
||||
<!-- Used in share-config-custom.xml. By default points to standard location of Alfresco -->
|
||||
<alfresco.repo.url>http://localhost:8080/alfresco</alfresco.repo.url>
|
||||
|
||||
<!-- Defines the log level used in log4j.properties -->
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
</properties>
|
||||
|
||||
|
||||
<!-- Following dependencies are needed for compiling Java code in src/main/java;
|
||||
<scope>provided</scope> is inherited for each of the following;
|
||||
for more info, please refer to alfresco-platform-distribution POM -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.extensions.surf</groupId>
|
||||
<artifactId>spring-surf-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@@ -0,0 +1,20 @@
|
||||
<extension>
|
||||
<modules>
|
||||
<module>
|
||||
<id>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,27 @@
|
||||
model.jsonModel = {
|
||||
widgets: [{
|
||||
id: "SET_PAGE_TITLE",
|
||||
name: "alfresco/header/SetTitle",
|
||||
config: {
|
||||
title: "This is a simple page"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "MY_HORIZONTAL_WIDGET_LAYOUT",
|
||||
name: "alfresco/layout/HorizontalWidgets",
|
||||
config: {
|
||||
widgetWidth: 50,
|
||||
widgets: [
|
||||
{
|
||||
name: "alfresco/logo/Logo",
|
||||
config: {
|
||||
logoClasses: "alfresco-logo-only"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "example/widgets/TemplateWidget"
|
||||
}
|
||||
]
|
||||
}
|
||||
}]
|
||||
};
|
@@ -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,3 @@
|
||||
# Define here logging properties for your AMP specific classes
|
||||
# This will end up in alfresco.war/WEB-INF/classes/alfresco/module/log4j.properties
|
||||
# and loaded as per http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#log4j.properties
|
@@ -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,422 @@
|
||||
<alfresco-config>
|
||||
|
||||
<!-- Global config section -->
|
||||
<config replace="true">
|
||||
<flags>
|
||||
<!--
|
||||
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
|
||||
-->
|
||||
<client-debug>false</client-debug>
|
||||
|
||||
<!--
|
||||
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
|
||||
This flag automatically activates logging on page load.
|
||||
-->
|
||||
<client-debug-autologging>false</client-debug-autologging>
|
||||
</flags>
|
||||
</config>
|
||||
|
||||
<config evaluator="string-compare" condition="WebFramework">
|
||||
<web-framework>
|
||||
<!-- SpringSurf Autowire Runtime Settings -->
|
||||
<!--
|
||||
Developers can set mode to 'development' to disable; SpringSurf caches,
|
||||
FreeMarker template caching and Rhino JavaScript compilation.
|
||||
-->
|
||||
<autowire>
|
||||
<!-- Pick the mode: "production" or "development" -->
|
||||
<mode>production</mode>
|
||||
</autowire>
|
||||
|
||||
<!-- Allows extension modules with <auto-deploy> set to true to be automatically deployed -->
|
||||
<module-deployment>
|
||||
<mode>manual</mode>
|
||||
<enable-auto-deploy-modules>true</enable-auto-deploy-modules>
|
||||
</module-deployment>
|
||||
</web-framework>
|
||||
</config>
|
||||
|
||||
<!-- Disable the CSRF Token Filter -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!--
|
||||
To run the CSRF Token Filter behind 1 or more proxies that do not rewrite the Origin or Referere headers:
|
||||
|
||||
1. Copy the "CSRFPolicy" default config in share-security-config.xml and paste it into this file.
|
||||
2. Replace the old config by setting the <config> element's "replace" attribute to "true" like below:
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
3. To every <action name="assertReferer"> element add the following child element
|
||||
<param name="referer">http://www.proxy1.com/.*|http://www.proxy2.com/.*</param>
|
||||
4. To every <action name="assertOrigin"> element add the following child element
|
||||
<param name="origin">http://www.proxy1.com|http://www.proxy2.com</param>
|
||||
-->
|
||||
|
||||
<!--
|
||||
Remove the default wildcard setting and use instead a strict whitelist of the only domains that shall be allowed
|
||||
to be used inside iframes (i.e. in the WebView dashlet on the dashboards)
|
||||
-->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="IFramePolicy" replace="true">
|
||||
<cross-domain>
|
||||
<url>http://www.trusted-domain-1.com/</url>
|
||||
<url>http://www.trusted-domain-2.com/</url>
|
||||
</cross-domain>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!-- Turn off header that stops Share from being displayed in iframes on pages from other domains -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
|
||||
<headers>
|
||||
<header>
|
||||
<name>X-Frame-Options</name>
|
||||
<enabled>false</enabled>
|
||||
</header>
|
||||
</headers>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<!-- Prevent browser communication over HTTP (for HTTPS servers) -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="SecurityHeadersPolicy">
|
||||
<headers>
|
||||
<header>
|
||||
<name>Strict-Transport-Security</name>
|
||||
<value>max-age=31536000</value>
|
||||
</header>
|
||||
</headers>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<config evaluator="string-compare" condition="Replication">
|
||||
<share-urls>
|
||||
<!--
|
||||
To discover a Repository Id, browse to the remote server's CMIS landing page at:
|
||||
http://{server}:{port}/alfresco/service/cmis/index.html
|
||||
The Repository Id field is found under the "CMIS Repository Information" expandable panel.
|
||||
|
||||
Example config entry:
|
||||
<share-url repositoryId="622f9533-2a1e-48fe-af4e-ee9e41667ea4">http://new-york-office:8080/share/</share-url>
|
||||
-->
|
||||
</share-urls>
|
||||
</config>
|
||||
|
||||
<!-- Document Library config section -->
|
||||
<config evaluator="string-compare" condition="DocumentLibrary" replace="true">
|
||||
|
||||
<tree>
|
||||
<!--
|
||||
Whether the folder Tree component should enumerate child folders or not.
|
||||
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
|
||||
-->
|
||||
<evaluate-child-folders>false</evaluate-child-folders>
|
||||
|
||||
<!--
|
||||
Optionally limit the number of folders shown in treeview throughout Share.
|
||||
-->
|
||||
<maximum-folder-count>1000</maximum-folder-count>
|
||||
|
||||
<!--
|
||||
Default timeout in milliseconds for folder Tree component to recieve response from Repository
|
||||
-->
|
||||
<timeout>7000</timeout>
|
||||
</tree>
|
||||
|
||||
<!--
|
||||
Used by the "Manage Aspects" action
|
||||
|
||||
For custom aspects, remember to also add the relevant i18n string(s)
|
||||
cm_myaspect=My Aspect
|
||||
-->
|
||||
<aspects>
|
||||
<!-- Aspects that a user can see -->
|
||||
<visible>
|
||||
<aspect name="cm:generalclassifiable" />
|
||||
<aspect name="cm:complianceable" />
|
||||
<aspect name="cm:dublincore" />
|
||||
<aspect name="cm:effectivity" />
|
||||
<aspect name="cm:summarizable" />
|
||||
<aspect name="cm:versionable" />
|
||||
<aspect name="cm:templatable" />
|
||||
<aspect name="cm:emailed" />
|
||||
<aspect name="emailserver:aliasable" />
|
||||
<aspect name="cm:taggable" />
|
||||
<aspect name="app:inlineeditable" />
|
||||
<aspect name="gd:googleEditable" />
|
||||
<aspect name="cm:geographic" />
|
||||
<aspect name="exif:exif" />
|
||||
<aspect name="audio:audio" />
|
||||
<aspect name="cm:indexControl" />
|
||||
<aspect name="dp:restrictable" />
|
||||
</visible>
|
||||
|
||||
<!-- Aspects that a user can add. Same as "visible" if left empty -->
|
||||
<addable>
|
||||
</addable>
|
||||
|
||||
<!-- Aspects that a user can remove. Same as "visible" if left empty -->
|
||||
<removeable>
|
||||
</removeable>
|
||||
</aspects>
|
||||
|
||||
<!--
|
||||
Used by the "Change Type" action
|
||||
|
||||
Define valid subtypes using the following example:
|
||||
<type name="cm:content">
|
||||
<subtype name="cm:mysubtype" />
|
||||
</type>
|
||||
|
||||
Remember to also add the relevant i18n string(s):
|
||||
cm_mysubtype=My SubType
|
||||
-->
|
||||
<types>
|
||||
<type name="cm:content">
|
||||
</type>
|
||||
|
||||
<type name="cm:folder">
|
||||
</type>
|
||||
|
||||
<type name="trx:transferTarget">
|
||||
<subtype name="trx:fileTransferTarget" />
|
||||
</type>
|
||||
</types>
|
||||
|
||||
<!--
|
||||
If set, will present a WebDAV link for the current item on the Document and Folder details pages.
|
||||
Also used to generate the "View in Alfresco Explorer" action for folders.
|
||||
-->
|
||||
<repository-url>http://localhost:8080/alfresco</repository-url>
|
||||
|
||||
<!--
|
||||
Google Docs integration
|
||||
-->
|
||||
<google-docs>
|
||||
<!--
|
||||
Enable/disable the Google Docs UI integration (Extra types on Create Content menu, Google Docs actions).
|
||||
-->
|
||||
<enabled>false</enabled>
|
||||
|
||||
<!--
|
||||
The mimetypes of documents Google Docs allows you to create via the Share interface.
|
||||
The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs™ Document
|
||||
-->
|
||||
<creatable-types>
|
||||
<creatable type="doc">application/msword</creatable>
|
||||
<creatable type="xls">application/vnd.ms-excel</creatable>
|
||||
<creatable type="ppt">application/vnd.ms-powerpoint</creatable>
|
||||
</creatable-types>
|
||||
</google-docs>
|
||||
|
||||
<!--
|
||||
File upload configuration
|
||||
-->
|
||||
<file-upload>
|
||||
<!--
|
||||
Adobe Flash™
|
||||
In certain environments, an HTTP request originating from Flash cannot be authenticated using an existing session.
|
||||
See: http://bugs.adobe.com/jira/browse/FP-4830
|
||||
For these cases, it is useful to disable the Flash-based uploader for Share Document Libraries.
|
||||
-->
|
||||
<adobe-flash-enabled>true</adobe-flash-enabled>
|
||||
</file-upload>
|
||||
</config>
|
||||
|
||||
|
||||
<!-- Custom DocLibActions config section -->
|
||||
<config evaluator="string-compare" condition="DocLibActions">
|
||||
<actionGroups>
|
||||
<actionGroup id="document-browse">
|
||||
|
||||
<!-- Simple Repo Actions -->
|
||||
<!--
|
||||
<action index="340" id="document-extract-metadata" />
|
||||
<action index="350" id="document-increment-counter" />
|
||||
-->
|
||||
|
||||
<!-- Dialog Repo Actions -->
|
||||
<!--
|
||||
<action index="360" id="document-transform" />
|
||||
<action index="370" id="document-transform-image" />
|
||||
<action index="380" id="document-execute-script" />
|
||||
-->
|
||||
|
||||
</actionGroup>
|
||||
</actionGroups>
|
||||
</config>
|
||||
|
||||
<!-- Global folder picker config section -->
|
||||
<config evaluator="string-compare" condition="GlobalFolder">
|
||||
<siteTree>
|
||||
<container type="cm:folder">
|
||||
<!-- Use a specific label for this container type in the tree -->
|
||||
<rootLabel>location.path.documents</rootLabel>
|
||||
<!-- Use a specific uri to retreive the child nodes for this container type in the tree -->
|
||||
<uri>slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&max={maximumFolderCountSite}</uri>
|
||||
</container>
|
||||
</siteTree>
|
||||
</config>
|
||||
|
||||
<!-- Repository Library config section -->
|
||||
<config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
|
||||
<!--
|
||||
Root nodeRef or xpath expression for top-level folder.
|
||||
e.g. alfresco://user/home, /app:company_home/st:sites/cm:site1
|
||||
If using an xpath expression, ensure it is properly ISO9075 encoded here.
|
||||
-->
|
||||
<root-node>alfresco://company/home</root-node>
|
||||
|
||||
<tree>
|
||||
<!--
|
||||
Whether the folder Tree component should enumerate child folders or not.
|
||||
This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures.
|
||||
-->
|
||||
<evaluate-child-folders>false</evaluate-child-folders>
|
||||
|
||||
<!--
|
||||
Optionally limit the number of folders shown in treeview throughout Share.
|
||||
-->
|
||||
<maximum-folder-count>500</maximum-folder-count>
|
||||
</tree>
|
||||
|
||||
<!--
|
||||
Whether the link to the Repository Library appears in the header component or not.
|
||||
-->
|
||||
<visible>true</visible>
|
||||
</config>
|
||||
|
||||
<!-- Kerberos settings -->
|
||||
<!-- To enable kerberos rename this condition to "Kerberos" -->
|
||||
<config evaluator="string-compare" condition="KerberosDisabled" replace="true">
|
||||
<kerberos>
|
||||
<!--
|
||||
Password for HTTP service account.
|
||||
The account name *must* be built from the HTTP server name, in the format :
|
||||
HTTP/<server_name>@<realm>
|
||||
(NB this is because the web browser requests an ST for the
|
||||
HTTP/<server_name> principal in the current realm, so if we're to decode
|
||||
that ST, it has to match.)
|
||||
-->
|
||||
<password>secret</password>
|
||||
<!--
|
||||
Kerberos realm and KDC address.
|
||||
-->
|
||||
<realm>ALFRESCO.ORG</realm>
|
||||
<!--
|
||||
Service Principal Name to use on the repository tier.
|
||||
This must be like: HTTP/host.name@REALM
|
||||
-->
|
||||
<endpoint-spn>HTTP/repository.server.com@ALFRESCO.ORG</endpoint-spn>
|
||||
<!--
|
||||
JAAS login configuration entry name.
|
||||
-->
|
||||
<config-entry>ShareHTTP</config-entry>
|
||||
</kerberos>
|
||||
</config>
|
||||
|
||||
<!-- Uncomment and modify the URL to Activiti Admin Console if required. -->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="ActivitiAdmin" replace="true">
|
||||
<activiti-admin-url>http://localhost:8080/alfresco/activiti-admin</activiti-admin-url>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
<remote>
|
||||
<endpoint>
|
||||
<id>alfresco-noauth</id>
|
||||
<name>Alfresco - unauthenticated access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
|
||||
<identity>none</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco</id>
|
||||
<name>Alfresco - user access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco-feed</id>
|
||||
<name>Alfresco Feed</name>
|
||||
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||
<connector-id>http</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
|
||||
<basic-auth>true</basic-auth>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>activiti-admin</id>
|
||||
<name>Activiti Admin UI - user access</name>
|
||||
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||
<connector-id>activiti-admin-connector</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/activiti-admin</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
|
||||
<!--
|
||||
Overriding endpoints to reference an Alfresco server with external SSO enabled
|
||||
NOTE: If utilising a load balancer between web-tier and repository cluster, the "sticky
|
||||
sessions" feature of your load balancer must be used.
|
||||
NOTE: If alfresco server location is not localhost:8080 then also combine changes from the
|
||||
"example port config" section below.
|
||||
*Optional* keystore contains SSL client certificate + trusted CAs.
|
||||
Used to authenticate share to an external SSO system such as CAS
|
||||
Remove the keystore section if not required i.e. for NTLM.
|
||||
|
||||
NOTE: For Kerberos SSO rename the "KerberosDisabled" condition above to "Kerberos"
|
||||
|
||||
NOTE: For external SSO, switch the endpoint connector to "AlfrescoHeader" and set
|
||||
the userHeader to the name of the HTTP header that the external SSO
|
||||
uses to provide the authenticated user name.
|
||||
-->
|
||||
<!--
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
<remote>
|
||||
<keystore>
|
||||
<path>alfresco/web-extension/alfresco-system.p12</path>
|
||||
<type>pkcs12</type>
|
||||
<password>alfresco-system</password>
|
||||
</keystore>
|
||||
|
||||
<connector>
|
||||
<id>alfrescoCookie</id>
|
||||
<name>Alfresco Connector</name>
|
||||
<description>Connects to an Alfresco instance using cookie-based authentication</description>
|
||||
<class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
|
||||
</connector>
|
||||
|
||||
<connector>
|
||||
<id>alfrescoHeader</id>
|
||||
<name>Alfresco Connector</name>
|
||||
<description>Connects to an Alfresco instance using header and cookie-based authentication</description>
|
||||
<class>org.alfresco.web.site.servlet.SlingshotAlfrescoConnector</class>
|
||||
<userHeader>SsoUserHeader</userHeader>
|
||||
</connector>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco</id>
|
||||
<name>Alfresco - user access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||
<connector-id>alfrescoCookie</connector-id>
|
||||
<endpoint-url>http://localhost:8080/alfresco/wcs</endpoint-url>
|
||||
<identity>user</identity>
|
||||
<external-auth>true</external-auth>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
-->
|
||||
|
||||
</alfresco-config>
|
@@ -0,0 +1,74 @@
|
||||
<alfresco-config>
|
||||
|
||||
<config evaluator="string-compare" condition="WebFramework">
|
||||
<web-framework>
|
||||
<autowire>
|
||||
<mode>development</mode>
|
||||
</autowire>
|
||||
</web-framework>
|
||||
</config>
|
||||
|
||||
|
||||
<!-- Global config section -->
|
||||
<config replace="true">
|
||||
<flags>
|
||||
<!--
|
||||
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
|
||||
-->
|
||||
<client-debug>true</client-debug>
|
||||
<!--
|
||||
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
|
||||
This flag automatically activates logging on page load.
|
||||
-->
|
||||
<client-debug-autologging>false</client-debug-autologging>
|
||||
</flags>
|
||||
</config>
|
||||
|
||||
<!-- Disable CSRF completely for now -->
|
||||
<!-- It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy -->
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
</config>
|
||||
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
<remote>
|
||||
<endpoint>
|
||||
<id>alfresco-noauth</id>
|
||||
<name>Alfresco - unauthenticated access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<identity>none</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco</id>
|
||||
<name>Alfresco - user access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco-feed</id>
|
||||
<name>Alfresco Feed</name>
|
||||
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||
<connector-id>http</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<basic-auth>true</basic-auth>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>activiti-admin</id>
|
||||
<name>Activiti Admin UI - user access</name>
|
||||
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||
<connector-id>activiti-admin-connector</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/activiti-admin</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
</alfresco-config>
|
||||
|
@@ -1,265 +1,266 @@
|
||||
# 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
|
||||
# This is a full override of Alfresco 4.2.b log4j.properties
|
||||
# This file overwrites the alfresco.war log4j.properties
|
||||
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=${app.log.root.level}, Console, File
|
||||
|
||||
###### Console appender definition #######
|
||||
|
||||
# All outputs currently set to be a ConsoleAppender.
|
||||
log4j.appender.Console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
|
||||
|
||||
# use log4j NDC to replace %x with tenant domain / username
|
||||
log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
|
||||
#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
###### File appender definition #######
|
||||
log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
|
||||
log4j.appender.File.File=${app.log.dir}alfresco.log
|
||||
log4j.appender.File.Append=true
|
||||
log4j.appender.File.DatePattern='.'yyyy-MM-dd
|
||||
log4j.appender.File.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
|
||||
|
||||
###### Hibernate specific appender definition #######
|
||||
#log4j.appender.file=org.apache.log4j.FileAppender
|
||||
#log4j.appender.file.File=hibernate.log
|
||||
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||
|
||||
###### Log level overrides #######
|
||||
|
||||
# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
|
||||
# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
|
||||
# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
|
||||
# Log4j addLoggerMBean as long as the logger exists and has been loaded.
|
||||
|
||||
# Hibernate
|
||||
log4j.logger.org.hibernate=error
|
||||
log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
|
||||
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
|
||||
log4j.logger.org.hibernate.type=warn
|
||||
log4j.logger.org.hibernate.cfg.SettingsFactory=warn
|
||||
|
||||
# Spring
|
||||
log4j.logger.org.springframework=warn
|
||||
# Turn off Spring remoting warnings that should really be info or debug.
|
||||
log4j.logger.org.springframework.remoting.support=error
|
||||
log4j.logger.org.springframework.util=error
|
||||
|
||||
# Axis/WSS4J
|
||||
log4j.logger.org.apache.axis=info
|
||||
log4j.logger.org.apache.ws=info
|
||||
|
||||
# CXF
|
||||
log4j.logger.org.apache.cxf=error
|
||||
|
||||
# MyFaces
|
||||
log4j.logger.org.apache.myfaces.util.DebugUtils=info
|
||||
log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
|
||||
log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
|
||||
log4j.logger.org.apache.myfaces.taglib=error
|
||||
|
||||
# OpenOfficeConnection
|
||||
log4j.logger.net.sf.jooreports.openoffice.connection=fatal
|
||||
|
||||
# log prepared statement cache activity ###
|
||||
log4j.logger.org.hibernate.ps.PreparedStatementCache=info
|
||||
|
||||
# Alfresco
|
||||
log4j.logger.org.alfresco=error
|
||||
log4j.logger.org.alfresco.repo.admin=info
|
||||
log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
|
||||
log4j.logger.org.alfresco.repo.model.filefolder=warn
|
||||
log4j.logger.org.alfresco.repo.tenant=info
|
||||
log4j.logger.org.alfresco.repo.avm=info
|
||||
log4j.logger.org.alfresco.config=warn
|
||||
log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
|
||||
log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
|
||||
log4j.logger.org.alfresco.repo.management.subsystems=warn
|
||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
|
||||
log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
|
||||
log4j.logger.org.alfresco.repo.security.sync=info
|
||||
log4j.logger.org.alfresco.repo.security.person=info
|
||||
|
||||
log4j.logger.org.alfresco.sample=info
|
||||
log4j.logger.org.alfresco.web=info
|
||||
#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
|
||||
#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
|
||||
#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
|
||||
#log4j.logger.org.alfresco.web.bean.clipboard=debug
|
||||
log4j.logger.org.alfresco.repo.webservice=info
|
||||
log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
|
||||
#log4j.logger.org.alfresco.web.page=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
|
||||
#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
|
||||
|
||||
log4j.logger.org.alfresco.web.ui.common.Utils=error
|
||||
#log4j.logger.org.alfresco.web.ui.common.Utils=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
|
||||
log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
|
||||
|
||||
# Specific patches
|
||||
log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
|
||||
log4j.logger.org.alfresco.repo.version.VersionMigrator=info
|
||||
log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
|
||||
log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
|
||||
log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
|
||||
log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
|
||||
log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
|
||||
log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
|
||||
log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info
|
||||
log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
|
||||
log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
|
||||
log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
|
||||
log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
|
||||
log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
|
||||
log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
|
||||
log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info
|
||||
log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
|
||||
|
||||
#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.workflow=info
|
||||
|
||||
# CIFS server debugging
|
||||
log4j.logger.org.alfresco.smb.protocol=error
|
||||
#log4j.logger.org.alfresco.smb.protocol.auth=debug
|
||||
#log4j.logger.org.alfresco.acegi=debug
|
||||
|
||||
# FTP server debugging
|
||||
log4j.logger.org.alfresco.ftp.protocol=error
|
||||
#log4j.logger.org.alfresco.ftp.server=debug
|
||||
|
||||
# WebDAV debugging
|
||||
#log4j.logger.org.alfresco.webdav.protocol=debug
|
||||
log4j.logger.org.alfresco.webdav.protocol=error
|
||||
|
||||
# NTLM servlet filters
|
||||
#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
|
||||
#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
|
||||
|
||||
# Kerberos servlet filters
|
||||
#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
|
||||
#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
|
||||
|
||||
# File servers
|
||||
log4j.logger.org.alfresco.fileserver=warn
|
||||
|
||||
# Repo filesystem debug logging
|
||||
#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
|
||||
|
||||
# AVM filesystem debug logging
|
||||
#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug
|
||||
|
||||
# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
|
||||
log4j.logger.org.alfresco.repo.node.integrity=ERROR
|
||||
|
||||
# Indexer debugging
|
||||
log4j.logger.org.alfresco.repo.search.Indexer=error
|
||||
#log4j.logger.org.alfresco.repo.search.Indexer=debug
|
||||
|
||||
log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
|
||||
log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
|
||||
#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
|
||||
|
||||
# Audit debugging
|
||||
# log4j.logger.org.alfresco.repo.audit=DEBUG
|
||||
# log4j.logger.org.alfresco.repo.audit.model=DEBUG
|
||||
|
||||
# Forms debugging
|
||||
# log4j.logger.org.alfresco.web.forms=debug
|
||||
# log4j.logger.org.chiba.xml.xforms=debug
|
||||
log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error
|
||||
log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error
|
||||
|
||||
# Property sheet and modelling debugging
|
||||
# change to error to hide the warnings about missing properties and associations
|
||||
log4j.logger.alfresco.missingProperties=warn
|
||||
log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
|
||||
log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
|
||||
#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
|
||||
|
||||
# Dictionary/Model debugging
|
||||
log4j.logger.org.alfresco.repo.dictionary=warn
|
||||
log4j.logger.org.alfresco.repo.dictionary.types.period=warn
|
||||
|
||||
# Virtualization Server Registry
|
||||
log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
|
||||
|
||||
# Spring context runtime property setter
|
||||
log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
|
||||
|
||||
# Debugging options for clustering
|
||||
log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
|
||||
log4j.logger.org.alfresco.repo.content.replication=error
|
||||
|
||||
#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
|
||||
|
||||
# Activity service
|
||||
log4j.logger.org.alfresco.repo.activities=warn
|
||||
|
||||
# User usage tracking
|
||||
log4j.logger.org.alfresco.repo.usage=info
|
||||
|
||||
# Sharepoint
|
||||
log4j.logger.org.alfresco.module.vti=info
|
||||
|
||||
# Forms Engine
|
||||
log4j.logger.org.alfresco.repo.forms=info
|
||||
log4j.logger.org.alfresco.web.config.forms=info
|
||||
log4j.logger.org.alfresco.web.scripts.forms=info
|
||||
|
||||
# CMIS
|
||||
log4j.logger.org.alfresco.opencmis=error
|
||||
log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
|
||||
log4j.logger.org.alfresco.cmis=error
|
||||
log4j.logger.org.alfresco.cmis.dictionary=warn
|
||||
log4j.logger.org.apache.chemistry.opencmis=info
|
||||
|
||||
# IMAP
|
||||
log4j.logger.org.alfresco.repo.imap=info
|
||||
|
||||
# JBPM
|
||||
# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.org.jbpm.graph.def.GraphElement=fatal
|
||||
|
||||
#log4j.logger.org.alfresco.repo.googledocs=debug
|
||||
|
||||
###### Scripting #######
|
||||
|
||||
# Web Framework
|
||||
log4j.logger.org.springframework.extensions.webscripts=info
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
|
||||
log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
|
||||
|
||||
# Repository
|
||||
log4j.logger.org.alfresco.repo.web.scripts=warn
|
||||
log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
|
||||
log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
|
||||
log4j.logger.org.alfresco.repo.jscript=error
|
||||
log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
|
||||
log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
|
||||
|
||||
log4j.logger.org.alfresco.repo.avm.actions=info
|
||||
|
||||
# Freemarker
|
||||
# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
|
||||
log4j.logger.freemarker.runtime=
|
||||
|
||||
# Metadata extraction
|
||||
log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
|
||||
|
||||
# Reduces PDFont error level due to ALF-7105
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
|
||||
log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
|
||||
|
||||
# no index support
|
||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
|
||||
log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
|
||||
log4j.logger.org.alfresco.demoamp.test=DEBUG
|
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- This file is included only when running this project with -Pamp-to-war -->
|
||||
<Context docBase="${alfresco.client.war.folder}" path="${alfresco.client.contextPath}">
|
||||
|
||||
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
|
||||
|
||||
|
||||
<Loader searchVirtualFirst="true" className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.testOutputDirectory};${project.build.directory}/${project.build.finalName}/config" />
|
||||
|
||||
<!--
|
||||
<Environment override="false" type="java.lang.Boolean" name="properties/startup.enable" description="A flag that globally enables or disables startup of the major Alfresco subsystems." value="true"/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/dir.root" description="The filesystem directory below which content and index data is stored. Should be on a shared disk if this is a clustered installation."/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.dialect" description="The fully qualified name of a org.hibernate.dialect.Dialect subclass that allows Hibernate to generate SQL optimized for a particular relational database. Choose from org.hibernate.dialect.DerbyDialect, org.hibernate.dialect.MySQLInnoDBDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSybaseAnywhereDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSQLServerDialect, org.hibernate.dialect.PostgreSQLDialect"/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.query.substitutions" description="Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to "true TRUE, false FALSE"."/>
|
||||
<Environment override="false" type="java.lang.Boolean" name="properties/hibernate.jdbc.use_get_generated_keys" description="Enable use of JDBC3 PreparedStatement.getGeneratedKeys() to retrieve natively generated keys after insert. Requires JDBC3+ driver. Set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.default_schema" description="Qualify unqualified table names with the given schema/tablespace in generated SQL. It may be necessary to set this when the target database has more than one schema."/>
|
||||
-->
|
||||
|
||||
<!-- This enables hot reloading of web resources from uncompressed jars (while in prod they would be loaded from WEB-INF/lib/{\*.jar}/META-INF/resources -->
|
||||
<JarScanner scanAllDirectories="true" />
|
||||
|
||||
</Context>
|
@@ -19,12 +19,11 @@
|
||||
<artifactId>share</artifactId>
|
||||
<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>
|
||||
</dependencies>
|
||||
@@ -50,10 +49,10 @@
|
||||
<!-- 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>
|
||||
</overlays>
|
||||
|
@@ -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,74 @@
|
||||
<alfresco-config>
|
||||
|
||||
<config evaluator="string-compare" condition="WebFramework">
|
||||
<web-framework>
|
||||
<autowire>
|
||||
<mode>development</mode>
|
||||
</autowire>
|
||||
</web-framework>
|
||||
</config>
|
||||
|
||||
|
||||
<!-- Global config section -->
|
||||
<config replace="true">
|
||||
<flags>
|
||||
<!--
|
||||
Developer debugging setting to turn on DEBUG mode for client scripts in the browser
|
||||
-->
|
||||
<client-debug>true</client-debug>
|
||||
<!--
|
||||
LOGGING can always be toggled at runtime when in DEBUG mode (Ctrl, Ctrl, Shift, Shift).
|
||||
This flag automatically activates logging on page load.
|
||||
-->
|
||||
<client-debug-autologging>false</client-debug-autologging>
|
||||
</flags>
|
||||
</config>
|
||||
|
||||
<!-- Disable CSRF completely for now -->
|
||||
<!-- It seems Share has issues on 4.2.x with the embedded tomcat and CSRFPolicy -->
|
||||
<config evaluator="string-compare" condition="CSRFPolicy" replace="true">
|
||||
<filter/>
|
||||
</config>
|
||||
|
||||
<config evaluator="string-compare" condition="Remote">
|
||||
<remote>
|
||||
<endpoint>
|
||||
<id>alfresco-noauth</id>
|
||||
<name>Alfresco - unauthenticated access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<identity>none</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco</id>
|
||||
<name>Alfresco - user access</name>
|
||||
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
|
||||
<connector-id>alfresco</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>alfresco-feed</id>
|
||||
<name>Alfresco Feed</name>
|
||||
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
|
||||
<connector-id>http</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/s</endpoint-url>
|
||||
<basic-auth>true</basic-auth>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
|
||||
<endpoint>
|
||||
<id>activiti-admin</id>
|
||||
<name>Activiti Admin UI - user access</name>
|
||||
<description>Access to Activiti Admin UI, that requires user authentication</description>
|
||||
<connector-id>activiti-admin-connector</connector-id>
|
||||
<endpoint-url>${alfresco.repo.url}/activiti-admin</endpoint-url>
|
||||
<identity>user</identity>
|
||||
</endpoint>
|
||||
</remote>
|
||||
</config>
|
||||
</alfresco-config>
|
||||
|
@@ -32,62 +32,62 @@
|
||||
<artifactItem>
|
||||
<artifactId>alfresco-solr</artifactId>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<classifier>config</classifier>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>zip</type>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<version>1.7</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>overlay-solr-war</id>
|
||||
<id>copy-alfresco-solr</id>
|
||||
<goals><goal>unpack</goal></goals>
|
||||
<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>
|
||||
<outputDirectory>${alfresco.solr.war.overlay}</outputDirectory>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<artifactId>alfresco-solr</artifactId>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>war</type>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- Replaces web.xml where applicable, commenting out the security-constraints -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
||||
<artifactId>replacer</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>overlay-web-xml</id>
|
||||
<id>disable-securecomms</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>
|
||||
<goals>
|
||||
<goal>replace</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<ignoreErrors>true</ignoreErrors>
|
||||
<file>${alfresco.solr.war.overlay}/WEB-INF/web.xml</file>
|
||||
<replacements>
|
||||
<replacement>
|
||||
<token><![CDATA[<security-constraint>]]></token>
|
||||
<value><![CDATA[<!-- <security-constraint>]]></value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token><![CDATA[</security-role>]]></token>
|
||||
<value><![CDATA[</security-role> -->]]></value>
|
||||
</replacement>
|
||||
</replacements>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
@@ -108,12 +108,29 @@
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-lib</id>
|
||||
<id>overlay-web-xml</id>
|
||||
<phase>generate-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/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
<targetPath>classes</targetPath>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-solr-resources</id>
|
||||
<phase>package</phase>
|
||||
<goals><goal>copy-resources</goal></goals>
|
||||
<configuration>
|
||||
@@ -129,6 +146,13 @@
|
||||
<filtering>true</filtering>
|
||||
<targetPath>${alfresco.solr.dir}/workspace-SpacesStore/conf</targetPath>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/solr-properties</directory>
|
||||
<filtering>true</filtering>
|
||||
<includes>
|
||||
<include>log4j-solr.properties</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
@@ -141,8 +165,10 @@
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-solr</artifactId>
|
||||
<classifier>config</classifier>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>zip</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
@@ -128,7 +128,7 @@
|
||||
-->
|
||||
<!--<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>-->
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
This option specifies which Lucene LockFactory implementation to use.
|
||||
|
||||
@@ -210,17 +210,17 @@
|
||||
|
||||
</mainIndex>
|
||||
|
||||
<!-- Enables JMX if and only if an existing MBeanServer is found, use this
|
||||
<!-- Enables JMX if and only if an existing MBeanServer is found, use this
|
||||
if you want to configure JMX through JVM parameters. Remove this to disable
|
||||
exposing Solr configuration and statistics to JMX.
|
||||
|
||||
If you want to connect to a particular server, specify the agentId
|
||||
e.g. <jmx agentId="myAgent" />
|
||||
If you want to connect to a particular server, specify the agentId
|
||||
e.g. <jmx agentId="myAgent" />
|
||||
|
||||
If you want to start a new MBeanServer, specify the serviceUrl
|
||||
e.g <jmx serviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>
|
||||
If you want to start a new MBeanServer, specify the serviceUrl
|
||||
e.g <jmx serviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>
|
||||
|
||||
For more details see http://wiki.apache.org/solr/SolrJmx
|
||||
For more details see http://wiki.apache.org/solr/SolrJmx
|
||||
-->
|
||||
<jmx />
|
||||
|
||||
@@ -384,6 +384,11 @@
|
||||
initialSize="100"
|
||||
autowarmCount="0"
|
||||
/>
|
||||
|
||||
<cache name="alfrescoArrayListCache"
|
||||
class="org.alfresco.solr.ArrayListCache"
|
||||
/>
|
||||
|
||||
|
||||
<cache name="alfrescoAuthorityCache"
|
||||
class="solr.FastLRUCache"
|
||||
@@ -401,6 +406,14 @@
|
||||
regenerator="org.alfresco.solr.FilterCacheRegenerator"
|
||||
/>
|
||||
|
||||
<!-- No regnerator or warming is required - this will be populated by the authority cache regenration -->
|
||||
<cache name="alfrescoReaderToAclIdsCache"
|
||||
class="solr.FastLRUCache"
|
||||
size="${solr.readerToAclIdsCache.size:512}"
|
||||
initialSize="${solr.readerToAclIdsCache.initialSize:512}"
|
||||
autowarmCount="0"
|
||||
/>
|
||||
|
||||
<listener event="newSearcher" class="org.alfresco.solr.AlfrescoSolrEventListener">
|
||||
</listener>
|
||||
|
||||
|
@@ -53,21 +53,22 @@ alfresco.workQueueSize=-1
|
||||
|
||||
alfresco.maxTotalConnections=40
|
||||
alfresco.maxHostConnections=40
|
||||
alfresco.socketTimeout=60000
|
||||
|
||||
# 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.filterCache.size=64
|
||||
solr.filterCache.initialSize=64
|
||||
solr.queryResultCache.size=64
|
||||
solr.queryResultCache.initialSize=64
|
||||
solr.documentCache.size=64
|
||||
solr.documentCache.initialSize=64
|
||||
solr.queryResultMaxDocsCached=200
|
||||
|
||||
solr.authorityCache.size=512
|
||||
solr.authorityCache.initialSize=512
|
||||
solr.pathCache.size=512
|
||||
solr.pathCache.initialSize=512
|
||||
solr.authorityCache.size=64
|
||||
solr.authorityCache.initialSize=64
|
||||
solr.pathCache.size=64
|
||||
solr.pathCache.initialSize=64
|
||||
|
||||
# SOLR
|
||||
|
||||
|
@@ -128,7 +128,7 @@
|
||||
-->
|
||||
<!--<mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>-->
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
This option specifies which Lucene LockFactory implementation to use.
|
||||
|
||||
@@ -210,17 +210,17 @@
|
||||
|
||||
</mainIndex>
|
||||
|
||||
<!-- Enables JMX if and only if an existing MBeanServer is found, use this
|
||||
<!-- Enables JMX if and only if an existing MBeanServer is found, use this
|
||||
if you want to configure JMX through JVM parameters. Remove this to disable
|
||||
exposing Solr configuration and statistics to JMX.
|
||||
|
||||
If you want to connect to a particular server, specify the agentId
|
||||
e.g. <jmx agentId="myAgent" />
|
||||
If you want to connect to a particular server, specify the agentId
|
||||
e.g. <jmx agentId="myAgent" />
|
||||
|
||||
If you want to start a new MBeanServer, specify the serviceUrl
|
||||
e.g <jmx serviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>
|
||||
If you want to start a new MBeanServer, specify the serviceUrl
|
||||
e.g <jmx serviceUrl="service:jmx:rmi:///jndi/rmi://localhost:9999/solr"/>
|
||||
|
||||
For more details see http://wiki.apache.org/solr/SolrJmx
|
||||
For more details see http://wiki.apache.org/solr/SolrJmx
|
||||
-->
|
||||
<jmx />
|
||||
|
||||
@@ -385,6 +385,11 @@
|
||||
autowarmCount="0"
|
||||
/>
|
||||
|
||||
<cache name="alfrescoArrayListCache"
|
||||
class="org.alfresco.solr.ArrayListCache"
|
||||
/>
|
||||
|
||||
|
||||
<cache name="alfrescoAuthorityCache"
|
||||
class="solr.FastLRUCache"
|
||||
size="${solr.authorityCache.size:512}"
|
||||
@@ -401,6 +406,14 @@
|
||||
regenerator="org.alfresco.solr.FilterCacheRegenerator"
|
||||
/>
|
||||
|
||||
<!-- No regnerator or warming is required - this will be populated by the authority cache regenration -->
|
||||
<cache name="alfrescoReaderToAclIdsCache"
|
||||
class="solr.FastLRUCache"
|
||||
size="${solr.readerToAclIdsCache.size:512}"
|
||||
initialSize="${solr.readerToAclIdsCache.initialSize:512}"
|
||||
autowarmCount="0"
|
||||
/>
|
||||
|
||||
<listener event="newSearcher" class="org.alfresco.solr.AlfrescoSolrEventListener">
|
||||
</listener>
|
||||
|
||||
|
@@ -58,21 +58,25 @@ alfresco.workQueueSize=-1
|
||||
|
||||
alfresco.maxTotalConnections=40
|
||||
alfresco.maxHostConnections=40
|
||||
alfresco.socketTimeout=60000
|
||||
|
||||
# SOLR caching
|
||||
|
||||
solr.filterCache.size=512
|
||||
solr.filterCache.initialSize=512
|
||||
solr.filterCache.size=64
|
||||
solr.filterCache.initialSize=64
|
||||
solr.queryResultCache.size=1024
|
||||
solr.queryResultCache.initialSize=1024
|
||||
solr.documentCache.size=512
|
||||
solr.documentCache.initialSize=512
|
||||
solr.documentCache.size=64
|
||||
solr.documentCache.initialSize=64
|
||||
solr.queryResultMaxDocsCached=2000
|
||||
|
||||
solr.authorityCache.size=512
|
||||
solr.authorityCache.initialSize=512
|
||||
solr.pathCache.size=512
|
||||
solr.pathCache.initialSize=512
|
||||
solr.authorityCache.size=64
|
||||
solr.authorityCache.initialSize=64
|
||||
solr.pathCache.size=64
|
||||
solr.pathCache.initialSize=64
|
||||
|
||||
solr.readerToAclIdsCache.size=64
|
||||
solr.readerToAclIdsCache.initialSize=64
|
||||
|
||||
# SOLR
|
||||
|
||||
@@ -101,3 +105,6 @@ solr.queryResultWindowSize=200
|
||||
# logging check report ....
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
alfresco.doPermissionChecks=true
|
@@ -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>
|
@@ -19,7 +19,7 @@ All-in-One Archetype properties
|
||||
|
||||
* <<<src/main/properties/<env>/alfresco-global.properties>>> (environment dependent <<<alfresco-global.properties>>> packaged in the WAR )
|
||||
|
||||
* 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)
|
||||
|
||||
|
@@ -20,7 +20,7 @@ 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
|
||||
|
||||
@@ -29,7 +29,7 @@ How to create a project:
|
||||
You can create the latest release archetype with the following command:
|
||||
|
||||
+---+
|
||||
mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype:
|
||||
mvn archetype:generate -Dfilter=org.alfresco.maven.archetype:
|
||||
+---+
|
||||
|
||||
You should then:
|
||||
@@ -38,11 +38,11 @@ mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/c
|
||||
|
||||
[[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.c)
|
||||
[[3]] (<Optionally>) Select Alfresco Version / Edition (current default is: Alfresco Community 5.0.a)
|
||||
|
||||
You can find new Alfresco All-in-One project ready to go in the <<<artifactId>>> folder.
|
||||
|
||||
Usage
|
||||
|
||||
Instructions on how to use the Alfresco AMP archetype can be found on the {{{./usage.html}usage page}}, while
|
||||
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}}
|
||||
|
@@ -20,36 +20,37 @@ Project layout
|
||||
|-> alfresco
|
||||
|-> 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
|
||||
|
||||
* 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
|
||||
|
@@ -23,15 +23,17 @@
|
||||
</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="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" />
|
||||
</menu>
|
||||
|
||||
<menu name="Maven Alfresco Community">
|
||||
<menu name="Maven Alfresco Docs">
|
||||
<item name="Official Alfresco SDK docs" href="http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html" />
|
||||
<item name="Alfresco Maven Wiki Docs" 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/" />
|
||||
|
@@ -0,0 +1,6 @@
|
||||
package=it.pkg
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=allInOneTest
|
||||
alfresco_target_groupId=org.alfresco
|
||||
alfresco_target_version=5.0.a
|
@@ -0,0 +1 @@
|
||||
verify
|
@@ -0,0 +1,6 @@
|
||||
package=it.pkg
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
artifactId=allInOneTest
|
||||
alfresco_target_groupId=org.alfresco
|
||||
alfresco_target_version=5.0.a
|
@@ -0,0 +1 @@
|
||||
verify -Prun -Dmaven.tomcat.fork=true
|
@@ -15,8 +15,14 @@
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.maven.ide.eclipse.maven2Nature</nature>
|
||||
</natures>
|
||||
|
@@ -6,13 +6,13 @@
|
||||
<artifactId>alfresco-amp-archetype</artifactId>
|
||||
|
||||
<packaging>maven-archetype</packaging>
|
||||
<name>AMP Archetype from Maven Alfresco SDK</name>
|
||||
<description>Sample project with full support for lifecycle and rapid development of AMPs (Alfresco Module Packages)</description>
|
||||
<name>Repository AMP Archetype from Maven Alfresco SDK</name>
|
||||
<description>Sample project with full support for lifecycle and rapid development of Repository AMPs (Alfresco Module Packages)</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-lifecycle-aggregator</artifactId>
|
||||
<version>1.0.2</version>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.0.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<configuration>
|
||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||
<delimiters>
|
||||
|
@@ -10,7 +10,7 @@
|
||||
<defaultValue>org.alfresco</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_version">
|
||||
<defaultValue>4.2.c</defaultValue>
|
||||
<defaultValue>5.0.a</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_amp_client_war">
|
||||
<defaultValue>alfresco</defaultValue>
|
||||
@@ -19,7 +19,7 @@
|
||||
<defaultValue>org.alfresco</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_amp_client_war_version">
|
||||
<defaultValue>4.2.c</defaultValue>
|
||||
<defaultValue>5.0.a</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="package">
|
||||
<defaultValue>(not used)</defaultValue>
|
||||
@@ -35,17 +35,7 @@
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**/*.jsp</include>
|
||||
<include>**/*.xml</include>
|
||||
<include>**/*.properties</include>
|
||||
<include>**/*.txt</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**/*.js</include>
|
||||
<include>**/*.css</include>
|
||||
<include>**/**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
@@ -57,17 +47,17 @@
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>jetty</directory>
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
|
@@ -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>
|
@@ -5,9 +5,9 @@
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
<name>${artifactId} AMP project</name>
|
||||
<name>${artifactId} Repository AMP project</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>Manages the lifecycle of the ${artifactId} AMP (Alfresco Module Package)</description>
|
||||
<description>Manages the lifecycle of the ${artifactId} Repository AMP (Alfresco Module Package)</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
@@ -21,9 +21,13 @@
|
||||
| For more available properties see the alfresco-sdk-parent POM.
|
||||
-->
|
||||
<properties>
|
||||
<!-- Defines the alfresco edition to compile against. Allowed values are [org.alfresco|org.alfresco.enterprise]-->
|
||||
<!--
|
||||
| Defines the groupId for the Alfresco Artifacts to work against. As of 4.2 the only allowed value is: org.alfresco
|
||||
| NOTE: See http://docs.alfresco.com/4.2/concepts/dev-extensions-maven-sdk-tutorials-alfresco-enterprise.html for details
|
||||
-->
|
||||
<alfresco.groupId>${alfresco_target_groupId}</alfresco.groupId>
|
||||
<!-- Defines the alfresco version to compile against -->
|
||||
<!-- Defines the Alfresco version to work against.
|
||||
Community versions are typically identified by major.minor.character (4.2.a) while Enterprise versions are identified by major.minor.digit (4.2.0) -->
|
||||
<alfresco.version>${alfresco_target_version}</alfresco.version>
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
<alfresco.data.location>alf_data_dev</alfresco.data.location>
|
||||
@@ -31,7 +35,7 @@
|
||||
. | Allowed values: alfresco | share. Defaults to a repository AMP, but could point to your foundation WAR -->
|
||||
<alfresco.client.war>${alfresco_target_amp_client_war}</alfresco.client.war>
|
||||
<!-- Defines the target WAR groupId to run this amp, only used with the -Pamp-to-war switch
|
||||
. | Could be org.alfresco | org.alfresco.enterprise or your corporate groupId -->
|
||||
. | Could be org.alfresco or your corporate groupId -->
|
||||
<alfresco.client.war.groupId>${alfresco_target_amp_client_war_groupId}</alfresco.client.war.groupId>
|
||||
<!-- Defines the target WAR version to run this amp, only used with the -Pamp-to-war switch -->
|
||||
<alfresco.client.war.version>${alfresco_target_amp_client_war_version}</alfresco.client.war.version>
|
||||
@@ -68,31 +72,7 @@
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.8.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<!-- This repository is only needed to retrieve Alfresco parent POM.
|
||||
NOTE: This can be removed when/if Alfresco will be on Maven Central
|
||||
|
||||
NOTE: The repository to be used for Alfresco Enterprise artifacts is
|
||||
https://artifacts.alfresco.com/nexus/content/groups/private/. Please check
|
||||
with Alfresco Support to get credentials to add to your ~/.m2/settings.xml
|
||||
if you are a Enterprise customer or Partner
|
||||
-->
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>alfresco-public</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>alfresco-public-snapshots</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/public-snapshots</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
</project>
|
||||
|
@@ -0,0 +1,7 @@
|
||||
<webscript>
|
||||
<shortname>Javascript 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: ${message}
|
@@ -0,0 +1 @@
|
||||
model["message"] = "Hello World!";
|
@@ -1,6 +1,3 @@
|
||||
#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
|
||||
@@ -16,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.
|
||||
-->
|
||||
-->
|
||||
This is a demo JSP. When running with -Pamp-to-war, just change this text and it will be automatically reloaded!
|
@@ -1,7 +1,7 @@
|
||||
package org.alfresco.demoamp.test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import org.alfresco.demoamp.DemoComponent;
|
||||
@@ -9,48 +9,56 @@ 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.alfresco.util.ApplicationContextHelper;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.junit.BeforeClass;
|
||||
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.context.ApplicationContext;
|
||||
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.
|
||||
* loading Alfresco application context.
|
||||
*
|
||||
* @author columbro
|
||||
* 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);
|
||||
|
||||
protected static ApplicationContext applicationContext;
|
||||
@Autowired
|
||||
protected DemoComponent demoComponent;
|
||||
|
||||
protected static DemoComponent demoComponent;
|
||||
@Autowired
|
||||
@Qualifier("NodeService")
|
||||
protected NodeService nodeService;
|
||||
|
||||
protected static NodeService nodeService;
|
||||
|
||||
@BeforeClass
|
||||
public static void initAppContext()
|
||||
{
|
||||
// TODO: Make testing properly working without need for helpers
|
||||
// TODO: Provide this in an SDK base class
|
||||
ApplicationContextHelper.setUseLazyLoading(false);
|
||||
ApplicationContextHelper.setNoAutoStart(true);
|
||||
applicationContext = ApplicationContextHelper.getApplicationContext(new String[] { "classpath:alfresco/application-context.xml" });
|
||||
demoComponent = (DemoComponent) applicationContext.getBean("changeme.exampleComponent");
|
||||
nodeService = (NodeService) applicationContext.getBean("NodeService");
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(ADMIN_USER_NAME);
|
||||
log.debug("Sample test logging: If you see this message, means your unit test logging is properly configured. Change it in test-log4j.properties");
|
||||
log.debug("Sample test logging: Application Context properly loaded");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void testWiring() {
|
||||
assertNotNull(demoComponent);
|
||||
@@ -58,6 +66,7 @@ public class DemoComponentTest {
|
||||
|
||||
@Test
|
||||
public void testGetCompanyHome() {
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(ADMIN_USER_NAME);
|
||||
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||
assertNotNull(companyHome);
|
||||
String companyHomeName = (String) nodeService.getProperty(companyHome, ContentModel.PROP_NAME);
|
||||
@@ -67,11 +76,12 @@ public class DemoComponentTest {
|
||||
|
||||
@Test
|
||||
public void testChildNodesCount() {
|
||||
AuthenticationUtil.setFullyAuthenticatedUser(ADMIN_USER_NAME);
|
||||
NodeRef companyHome = demoComponent.getCompanyHome();
|
||||
int childNodeCount = demoComponent.childNodesCount(companyHome);
|
||||
assertNotNull(childNodeCount);
|
||||
// There are 5 folders by default under Company Home
|
||||
assertEquals(5, childNodeCount);
|
||||
// There are 7 folders by default under Company Home
|
||||
assertEquals(7, childNodeCount);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@
|
||||
|
||||
# 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.
|
||||
# In this default file we take the property from the POM (for compatbility with local tomcat and jboss deployments) but it can also be edited here.
|
||||
dir.root=${alfresco.data.location}
|
||||
# Allowed values are: NONE, AUTO, FULL
|
||||
index.recovery.mode=NONE
|
||||
|
@@ -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,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Context docBase="${alfresco.client.war.folder}" path="${alfresco.client.contextPath}">
|
||||
|
||||
|
||||
<Resources className="org.apache.naming.resources.VirtualDirContext"
|
||||
extraResourcePaths="/=${project.build.directory}/${project.build.finalName}/web" />
|
||||
|
||||
|
||||
<Loader searchVirtualFirst="true" className="org.apache.catalina.loader.VirtualWebappLoader"
|
||||
virtualClasspath="${project.build.outputDirectory};${project.build.testOutputDirectory};${project.build.directory}/${project.build.finalName}/config" />
|
||||
|
||||
<!--
|
||||
<Environment override="false" type="java.lang.Boolean" name="properties/startup.enable" description="A flag that globally enables or disables startup of the major Alfresco subsystems." value="true"/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/dir.root" description="The filesystem directory below which content and index data is stored. Should be on a shared disk if this is a clustered installation."/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.dialect" description="The fully qualified name of a org.hibernate.dialect.Dialect subclass that allows Hibernate to generate SQL optimized for a particular relational database. Choose from org.hibernate.dialect.DerbyDialect, org.hibernate.dialect.MySQLInnoDBDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoOracle9Dialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSybaseAnywhereDialect, org.alfresco.repo.domain.hibernate.dialect.AlfrescoSQLServerDialect, org.hibernate.dialect.PostgreSQLDialect"/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.query.substitutions" description="Mapping from tokens in Hibernate queries to SQL tokens. For PostgreSQL, set this to "true TRUE, false FALSE"."/>
|
||||
<Environment override="false" type="java.lang.Boolean" name="properties/hibernate.jdbc.use_get_generated_keys" description="Enable use of JDBC3 PreparedStatement.getGeneratedKeys() to retrieve natively generated keys after insert. Requires JDBC3+ driver. Set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."/>
|
||||
<Environment override="false" type="java.lang.String" name="properties/hibernate.default_schema" description="Qualify unqualified table names with the given schema/tablespace in generated SQL. It may be necessary to set this when the target database has more than one schema."/>
|
||||
-->
|
||||
|
||||
|
||||
</Context>
|
@@ -34,7 +34,8 @@ AMP Archetype properties
|
||||
|
||||
* AMP specific properties
|
||||
|
||||
In addition to the common properties, the following properties are specific of the AMP archetype:
|
||||
In addition to the common properties, the following properties are specific of the AMP archetype. You can change
|
||||
these properties to select a different WAR to install your AMP to (e.g. a pre-customized Alfresco or Share instance):
|
||||
|
||||
+---+
|
||||
<project>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
Introduction
|
||||
|
||||
The Alfresco AMP Archetype is a sample fully featured project to manage AMP (Alfresco Module Package) projects.
|
||||
This archetype can be used both for Alfresco Repository and Alfresco Share AMPs.
|
||||
This archetype can be used for Alfresco Repository. For Share, please refer to the {{{../share-amp-archetype/index.html}Share AMP archetype}}
|
||||
|
||||
* Features
|
||||
|
||||
@@ -19,12 +19,12 @@ Introduction
|
||||
|
||||
* AMP dependency management in Maven
|
||||
|
||||
* Installation of AMPs in an Alfresco or Share WAR
|
||||
* Installation of AMPs in an Alfresco WAR
|
||||
|
||||
* AMP Unit Testing support. Just run the standard <<<mvn test>>> and see your <<<src/test/java>>> Alfresco unit tests run.
|
||||
An sample Unit Test is provided in this archetype.
|
||||
|
||||
* Embedded run in Jetty and embedded H2 database for demo purposes, rapid application development and integration testing
|
||||
* Embedded run in Tomcat and embedded H2 database for demo purposes, rapid application development and integration testing
|
||||
(<<NOTE>>: this is not a {{{http://www.alfresco.com/services/subscription/supported-platforms/} supported stack}} so use <<only for development purposes>>)
|
||||
|
||||
How to create a project:
|
||||
@@ -32,7 +32,7 @@ How to create a project:
|
||||
You can create the latest release archetype with the following command:
|
||||
|
||||
+---+
|
||||
mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype:
|
||||
mvn archetype:generate -Dfilter=org.alfresco.maven.archetype:
|
||||
+---+
|
||||
|
||||
You should then:
|
||||
|
@@ -1,5 +1,5 @@
|
||||
------
|
||||
Alfresco Maven AMP Archetype Usage
|
||||
Alfresco AMP Archetype Usage
|
||||
------
|
||||
Gabriele Columbro
|
||||
------
|
||||
@@ -26,7 +26,7 @@ Project layout
|
||||
|-> web/
|
||||
|-> licenses/
|
||||
src/main/java //Java classes to be packaged in the AMP embedded JAR)
|
||||
src/main/resources //resources to the packaged in the AMP embedded JAR)
|
||||
src/main/resources //resources to the packaged in the AMP embedded JAR
|
||||
src/test/java // Unit tests
|
||||
src/test/resources // Unit test resources
|
||||
src/test/properties/<env> // Environment aware alfresco-global.properties. By default <env>=local
|
||||
@@ -41,7 +41,9 @@ Usage
|
||||
|
||||
* packaging
|
||||
|
||||
* testing
|
||||
* rapid development
|
||||
|
||||
* testing (unit and integration)
|
||||
|
||||
* run embedded
|
||||
|
||||
@@ -61,12 +63,11 @@ Commands
|
||||
|
||||
* <<<mvn install -Dmaven.test.skip=true>>>: Like <<<mvn install>>> but skips unit tests
|
||||
|
||||
* <<<mvn package -Pamp-to-war>>>: Like <<<mvn package>>> but also installs the AMP onto an Alfresco WAR.
|
||||
* <<<mvn install -Pamp-to-war>>> Like <<<mvn package -Pamp-to-war>>>
|
||||
but also installs and runs the resulting WAR+AMP in Tomcat + H2 embedded from running and development.
|
||||
This also enables rapid application development features, like hot reloading and remote JUnit running.
|
||||
When you run this command then you can access in your browser <<< {{{http://localhost:8080/alfresco}}} >>>.
|
||||
|
||||
* <<<mvn integration-test -Pamp-to-war>>> Like <<<mvn package -Pamp-to-war>>>
|
||||
but also runs the resulting WAR+AMP in Jetty + H2 embedded for integration testing
|
||||
|
||||
* <<<mvn integration-test -Pamp-to-war -Dalfresco.client.war=share>>>: Like <<<mvn integration-test -Pamp-to-war>>> but installs the AMP and runs on the Share WAR in Jetty embedded.
|
||||
|
||||
* <<<mvn clean -Ppurge>>>: Removes DB, alf_data, indexes and log files. Useful to purge the development repo (by default self contained in <<<$\{project.basedir\}/alf_data_dev>>>
|
||||
|
||||
|
@@ -26,6 +26,7 @@
|
||||
<menu name="SDK components">
|
||||
<item name="Maven Alfresco SDK" href="../../index.html" />
|
||||
<item name="Alfresco AMP Archetype" href="./index.html" />
|
||||
<item name="Share AMP Archetype" href="../share-amp-archetype/index.html" />
|
||||
<item name="Alfresco All-in-One Archetype" href="../alfresco-allinone-archetype/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" />
|
||||
@@ -33,6 +34,7 @@
|
||||
</menu>
|
||||
|
||||
<menu name="Maven Alfresco Community">
|
||||
<item name="Official Alfresco SDK docs" href="http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html" />
|
||||
<item name="Alfresco Maven Wiki Docs" 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/" />
|
||||
|
@@ -2,10 +2,10 @@
|
||||
package=it.pkg
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
alfresco_target_version=4.2.c
|
||||
alfresco_target_version=5.0.a
|
||||
$=cat archetype.properties
|
||||
alfresco_target_groupId=org.alfresco
|
||||
alfresco_target_amp_client_war=alfresco
|
||||
alfresco_target_amp_client_war_groupId=org.alfresco
|
||||
alfresco_target_amp_client_war_version=4.2.c
|
||||
alfresco_target_amp_client_war_version=5.0.a
|
||||
artifactId=basic
|
||||
|
@@ -0,0 +1 @@
|
||||
verify
|
||||
|
@@ -0,0 +1,11 @@
|
||||
#Tue Oct 30 14:23:01 CET 2012
|
||||
package=it.pkg
|
||||
version=0.1-SNAPSHOT
|
||||
groupId=archetype.it
|
||||
alfresco_target_version=5.0.a
|
||||
$=cat archetype.properties
|
||||
alfresco_target_groupId=org.alfresco
|
||||
alfresco_target_amp_client_war=alfresco
|
||||
alfresco_target_amp_client_war_groupId=org.alfresco
|
||||
alfresco_target_amp_client_war_version=5.0.a
|
||||
artifactId=basic
|
@@ -0,0 +1 @@
|
||||
verify -Pamp-to-war -Dmaven.tomcat.fork=true
|
50
archetypes/share-amp-archetype/pom.xml
Normal file
50
archetypes/share-amp-archetype/pom.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>org.alfresco.maven.archetype</groupId>
|
||||
<artifactId>share-amp-archetype</artifactId>
|
||||
|
||||
<packaging>maven-archetype</packaging>
|
||||
<name>Share AMP Archetype from Maven Alfresco SDK</name>
|
||||
<description>Share project with full support for lifecycle and rapid development of AMPs (Alfresco Module Packages)</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>2.0.0-beta-1</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>archetype-resources/pom.xml</include>
|
||||
</includes>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>archetype-resources/pom.xml</exclude>
|
||||
</excludes>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<configuration>
|
||||
<useDefaultDelimiters>false</useDefaultDelimiters>
|
||||
<delimiters>
|
||||
<delimiter>@@</delimiter>
|
||||
</delimiters>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@@ -0,0 +1,99 @@
|
||||
<?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-amp-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>5.0.a</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_amp_client_war">
|
||||
<defaultValue>share</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_amp_client_war_groupId">
|
||||
<defaultValue>org.alfresco</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="alfresco_target_amp_client_war_version">
|
||||
<defaultValue>5.0.a</defaultValue>
|
||||
</requiredProperty>
|
||||
<requiredProperty key="package">
|
||||
<defaultValue>(not used)</defaultValue>
|
||||
</requiredProperty>
|
||||
</requiredProperties>
|
||||
<fileSets>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
<include>**/*.xml</include>
|
||||
<include>**/*.properties</include>
|
||||
<include>**/*.txt</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src/main/amp</directory>
|
||||
<includes>
|
||||
<include>**/*.js</include>
|
||||
<include>**/*.css</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/config/alfresco/module/__artifactId__</directory>
|
||||
</fileSet>
|
||||
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/web</directory>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/web/themes</directory>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/web/js</directory>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/main/amp/web/components</directory>
|
||||
</fileSet>
|
||||
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/test/java</directory>
|
||||
<includes>
|
||||
<include>**/*.java</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="false" encoding="UTF-8">
|
||||
<directory>tomcat</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</archetype-descriptor>
|
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>${groupId}</groupId>
|
||||
<artifactId>${artifactId}</artifactId>
|
||||
<version>${version}</version>
|
||||
<name>${artifactId} AMP project</name>
|
||||
<packaging>amp</packaging>
|
||||
<description>Manages the lifecycle of the ${artifactId} AMP (Alfresco Module Package)</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-parent</artifactId>
|
||||
<version>@@alfresco.sdk.parent.version@@</version>
|
||||
</parent>
|
||||
|
||||
<!--
|
||||
| SDK properties have sensible defaults in the SDK parent,
|
||||
| but you can override the properties below to use another version.
|
||||
| For more available properties see the alfresco-sdk-parent POM.
|
||||
-->
|
||||
<properties>
|
||||
<!-- Defines the target WAR artifactId to run this amp, only used with the -Pamp-to-war switch
|
||||
| Allowed values: alfresco | share. In this case it's configured to use OOTB share -->
|
||||
<alfresco.client.war>share</alfresco.client.war>
|
||||
|
||||
<!-- Since Alfresco is already running on port 8080, we run Share on port 8081 -->
|
||||
<maven.tomcat.port>8081</maven.tomcat.port>
|
||||
|
||||
<!-- Used in share-config-custom.xml. By default points to standard location of Alfresco -->
|
||||
<alfresco.repo.url>http://localhost:8080/alfresco</alfresco.repo.url>
|
||||
|
||||
<!-- Defines the Alfresco version to work against.
|
||||
Community versions are typically identified by major.minor.character (4.2.a),
|
||||
while Enterprise versions are identified by major.minor.digit (4.2.0)
|
||||
-->
|
||||
<alfresco.version>${alfresco_target_version}</alfresco.version>
|
||||
<!-- Defines the log level used in log4j.properties -->
|
||||
<app.log.root.level>WARN</app.log.root.level>
|
||||
|
||||
</properties>
|
||||
|
||||
<!-- Here we realize the connection with the Alfresco selected platform
|
||||
(e.g.version and edition) -->
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco version/edition
|
||||
(see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies)
|
||||
NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement. NOTE: It defaults
|
||||
to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom -->
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-platform-distribution</artifactId>
|
||||
<version>${alfresco.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<!-- Following dependencies are needed for compiling Java code in src/main/java;
|
||||
<scope>provided</scope> is inherited for each of the following;
|
||||
for more info, please refer to alfresco-platform-distribution POM -->
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>alfresco-repository</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.extensions.surf</groupId>
|
||||
<artifactId>spring-surf-api</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@@ -0,0 +1,20 @@
|
||||
<extension>
|
||||
<modules>
|
||||
<module>
|
||||
<id>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>
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user