mirror of
https://github.com/Alfresco/alfresco-sdk.git
synced 2025-09-10 14:12:12 +00:00
Compare commits
28 Commits
alfresco-s
...
alfresco-s
Author | SHA1 | Date | |
---|---|---|---|
|
b9331c365f | ||
|
63bd9a63c0 | ||
|
f1dbb608d9 | ||
|
657d16b91c | ||
|
7739556c94 | ||
|
d7b0805cef | ||
|
0b8db99cd8 | ||
|
eba635c8f8 | ||
|
2782f30a42 | ||
|
a32a537206 | ||
|
49160034cf | ||
|
50dac567c2 | ||
|
9a7630acfb | ||
|
be11344137 | ||
|
db9d7d637c | ||
|
04fe0678d7 | ||
|
b46f173fb4 | ||
|
d69f7e4937 | ||
|
788347a5dd | ||
|
d6f11dd977 | ||
|
f0955cff98 | ||
|
05b2cfbb1e | ||
|
558d4b422c | ||
|
d040ceb60d | ||
|
a8db2ddde0 | ||
|
c9d1878cb9 | ||
|
99c0a14220 | ||
|
6a1b09c102 |
@@ -11,7 +11,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/assembly</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
@@ -39,26 +39,12 @@
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*-context.xml</exclude>
|
||||
<exclude>**/log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/*-context.xml</include>
|
||||
<include>**/log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
@@ -66,8 +52,14 @@
|
||||
|
||||
<module id="${rootArtifactId}-share-jar"
|
||||
name="${rootArtifactId}-share-jar"
|
||||
dir="__rootArtifactId__-share-jar" >
|
||||
dir="__rootArtifactId__-share-jar">
|
||||
<fileSets>
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/assembly</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
@@ -102,27 +94,43 @@
|
||||
<exclude>**/__artifactId__-example-widgets.xml</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="false" encoding="UTF-8">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
</module>
|
||||
</modules>
|
||||
|
||||
<fileSets>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory>src</directory>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**/dev-log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/dev-log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/license</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory></directory>
|
||||
<includes>
|
||||
<include>debug.sh</include>
|
||||
<include>debug.bat</include>
|
||||
<include>run.sh</include>
|
||||
<include>run.bat</include>
|
||||
<include>README.md</include>
|
||||
|
@@ -12,12 +12,39 @@
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
|
||||
<files>
|
||||
<!-- Filter module.properties and put at top level in the AMP -->
|
||||
<file>
|
||||
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||
<filtered>true</filtered>
|
||||
</file>
|
||||
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||
<file>
|
||||
<source>src/main/assembly/file-mapping.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
<fileSets>
|
||||
<!-- Anything in the assembly/lib directory will end up in the /lib directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
<outputDirectory>web</outputDirectory>
|
||||
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<!-- Include the project artifact (JAR) in the /lib directory in the AMP -->
|
||||
<dependencySets>
|
||||
<dependencySet>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
|
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
#
|
||||
# Default mappings are:
|
||||
#
|
||||
# /config=/WEB-INF/classes
|
||||
# /lib=/WEB-INF/lib
|
||||
# /licenses=/WEB-INF/licenses
|
||||
# /web/jsp=/jsp
|
||||
# /web/css=/css
|
||||
# /web/images=/images
|
||||
# /web/scripts=/scripts
|
||||
# /web/php=/php
|
||||
#
|
||||
include.default=true
|
||||
|
||||
#
|
||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||
# Map /web to / in AMP so we can override things like favicon.ico
|
||||
#
|
||||
/web=/
|
||||
|
@@ -0,0 +1,21 @@
|
||||
# 3rd party libraries (JARs) that should be included in WAR
|
||||
|
||||
Put here any 3rd party libraries (JARs) that are needed by customizations,
|
||||
but that are not part of the out-of-the-box libraries in the *alfresco/WEB-INF/lib*
|
||||
directory.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the libs to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-platform-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. If you need to use a library that is available out-of-the-box, then
|
||||
include it as a *provided* dependency in the module.
|
||||
|
||||
|
@@ -0,0 +1,22 @@
|
||||
# Web resources that should override out-of-the-box files
|
||||
|
||||
Put here any web resources that should override out-of-the-box
|
||||
web resources, such as favicon.ico. They will then end up in the
|
||||
*/web* directory in the AMP, and applied to the WAR, and override
|
||||
any existing web resources in the Alfresco.WAR.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-platform-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. New web resources should not be located here, but instead
|
||||
in the usual place in the *src/main/resources/META-INF/resources* directory.
|
||||
|
||||
|
@@ -35,7 +35,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
* @author Maurizio Pillitu
|
||||
*/
|
||||
public class DemoComponent extends AbstractModuleComponent {
|
||||
Log log = LogFactory.getLog(DemoComponent.class);
|
||||
private static Log logger = LogFactory.getLog(DemoComponent.class);
|
||||
|
||||
private NodeService nodeService;
|
||||
|
||||
@@ -55,8 +55,8 @@ public class DemoComponent extends AbstractModuleComponent {
|
||||
@Override
|
||||
protected void executeInternal() throws Throwable {
|
||||
System.out.println("DemoComponent has been executed");
|
||||
log.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||
log.info("This is only for information purposed. Better remove me from the log in Production");
|
||||
logger.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||
logger.info("This is only for information purposed. Better remove me from the log in Production");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -23,6 +23,8 @@ import org.springframework.extensions.webscripts.Cache;
|
||||
import org.springframework.extensions.webscripts.DeclarativeWebScript;
|
||||
import org.springframework.extensions.webscripts.Status;
|
||||
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -34,10 +36,15 @@ import java.util.Map;
|
||||
* @since 2.1.0
|
||||
*/
|
||||
public class HelloWorldWebScript extends DeclarativeWebScript {
|
||||
private static Log logger = LogFactory.getLog(HelloWorldWebScript.class);
|
||||
|
||||
protected Map<String, Object> executeImpl(
|
||||
WebScriptRequest req, Status status, Cache cache) {
|
||||
Map<String, Object> model = new HashMap<String, Object>();
|
||||
model.put("fromJava", "HelloFromJava");
|
||||
|
||||
logger.debug("Your 'Hello World' Web Script was called!");
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
@@ -18,6 +18,12 @@
|
||||
<value>alfresco/module/${project.artifactId}/model/workflow-model.xml</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<list>
|
||||
<!-- Bootstrap Resource Bundles for the content model types, aspects, properties etc -->
|
||||
<value>alfresco/module/${project.artifactId}/messages/content-model</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="${package}.sampleprocess.workflowBootstrap" parent="workflowDeployer">
|
||||
|
@@ -25,15 +25,15 @@
|
||||
<bean id="${package}.exampleBean" class="${package}.platformsample.Demo" init-method="init" />
|
||||
|
||||
<!-- A simple module component that will be executed once.
|
||||
Note. this module component will only be executed once, and then there will be an entry for it in the Repo.
|
||||
So doing for example $ mvn clean install -Prun twice will only execute this component the first time.
|
||||
Note. this module component will only be executed once, and then there will be an entry for it in the Repo DB.
|
||||
So doing for example $ mvn clean install alfresco:run twice will only execute this component the first time.
|
||||
You need to remove /alf_data_dev for it to be executed again. -->
|
||||
<bean id="${package}.exampleComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
|
||||
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
|
||||
<property name="name" value="exampleComponent" />
|
||||
<property name="description" value="A demonstration component" />
|
||||
<property name="sinceVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="0.99" /> <!-- 1.0 would not work here when using SNAPSHOT version in project -->
|
||||
<property name="nodeService" ref="NodeService" />
|
||||
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||
</bean>
|
||||
|
@@ -1,43 +0,0 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#-----------------------------------------------------------------------
|
||||
# ${artifactId} module log4j.properties
|
||||
#
|
||||
# NOTE
|
||||
# ----
|
||||
# Log4j uses the following logging levels:
|
||||
# debug,info,warn,error,fatal
|
||||
#
|
||||
# To set the logging level of {fullClassName} to {loglevel},
|
||||
# add a line to this file of the following form:
|
||||
#
|
||||
# log4j.logger.{fullClassName}={loglevel}
|
||||
#
|
||||
# For example, to make 'com.example.MyExample' produce 'debug'
|
||||
# logs, add a line like this:
|
||||
#
|
||||
# log4j.logger.com.example.MyExample=debug
|
||||
#
|
||||
#
|
||||
# WARNING
|
||||
# -------
|
||||
# Log properties in this log4j.properties file override/augment
|
||||
# those in the webapp's main log4j.properties.
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
log4j.logger.${package}.platformsample.DemoComponent=debug
|
@@ -0,0 +1,6 @@
|
||||
# This file should contain content model labels
|
||||
|
||||
acme_contentModel.type.acme_document.title=ACME Document
|
||||
acme_contentModel.aspect.acme_securityClassified.title=ACME Security Classified
|
||||
acme_contentModel.property.acme_documentId.title=Document Id
|
||||
acme_contentModel.property.acme_securityClassification.title=Security Classification
|
@@ -30,7 +30,15 @@
|
||||
<groupId>org.alfresco.surf</groupId>
|
||||
<artifactId>spring-surf-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
@@ -10,13 +10,41 @@
|
||||
</formats>
|
||||
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
|
||||
<files>
|
||||
<!-- Filter module.properties and put at top level in the AMP -->
|
||||
<file>
|
||||
<source>${project.basedir}/src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||
<filtered>true</filtered>
|
||||
</file>
|
||||
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||
<file>
|
||||
<source>src/main/assembly/file-mapping.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
<fileSets>
|
||||
<!-- Anything in the assembly/lib directory will end up in the /lib directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
<outputDirectory>web</outputDirectory>
|
||||
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<!-- Include the project artifact (JAR) in the /lib directory in the AMP -->
|
||||
<dependencySets>
|
||||
<dependencySet>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
|
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
#
|
||||
# Default mappings are:
|
||||
#
|
||||
# /config=/WEB-INF/classes
|
||||
# /lib=/WEB-INF/lib
|
||||
# /licenses=/WEB-INF/licenses
|
||||
# /web/jsp=/jsp
|
||||
# /web/css=/css
|
||||
# /web/images=/images
|
||||
# /web/scripts=/scripts
|
||||
# /web/php=/php
|
||||
#
|
||||
include.default=true
|
||||
|
||||
#
|
||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||
# Map /web to / in AMP so we can override things like favicon.ico
|
||||
#
|
||||
/web=/
|
||||
|
@@ -0,0 +1,19 @@
|
||||
# 3rd party libraries (JARs) that should be included in WAR
|
||||
|
||||
Put here any 3rd party libraries (JARs) that are needed by customizations,
|
||||
but that are not part of the out-of-the-box libraries in the *share/WEB-INF/lib*
|
||||
directory.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the libs to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-share-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. If you need to use a library that is available out-of-the-box, then
|
||||
include it as a *provided* dependency in the module.
|
@@ -0,0 +1,22 @@
|
||||
# Web resources that should override out-of-the-box files
|
||||
|
||||
Put here any web resources that should override out-of-the-box
|
||||
web resources, such as favicon.ico. They will then end up in the
|
||||
*/web* directory in the AMP, and applied to the WAR, and override
|
||||
any existing web resources in the Share.WAR.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-share-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. New web resources should not be located here, but instead
|
||||
in the usual place in the *src/main/resources/META-INF/resources/<module-id>/* directory.
|
||||
|
||||
|
@@ -0,0 +1,420 @@
|
||||
<!-- Share configuration related to this particular Share module extension, such as:
|
||||
- Doclib action config
|
||||
- Form config
|
||||
- Aspect and Type config
|
||||
- Advanced Search
|
||||
|
||||
Note. Any configuration related to the whole Share.war webapp
|
||||
(i.e. not specific to this share extension) should be
|
||||
placed in the environment specific config file:
|
||||
alfresco/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
|
||||
-->
|
||||
<alfresco-config>
|
||||
<!--================================================================================================================
|
||||
Make custom types and aspects visible in "Change Type" and "Manage Aspects" actions.
|
||||
This will also make them visible when creating rules.
|
||||
(will be merged with out-of-the-box configured types and aspects)
|
||||
=============================================================================================================-->
|
||||
|
||||
<config evaluator="string-compare" condition="DocumentLibrary">
|
||||
<aspects>
|
||||
<visible>
|
||||
<aspect name="acme:securityClassified"/>
|
||||
</visible>
|
||||
<addable> <!-- defaults to visible config -->
|
||||
</addable>
|
||||
<removeable> <!-- defaults to visible config -->
|
||||
</removeable>
|
||||
</aspects>
|
||||
<types>
|
||||
<!-- Define the ACME base doc type as decedent from cm:content -->
|
||||
<type name="cm:content">
|
||||
<subtype name="acme:document"/>
|
||||
</type>
|
||||
</types>
|
||||
</config>
|
||||
|
||||
<!--================================================================================================================
|
||||
Advanced Search Forms for types
|
||||
(search forms for aspects are not available)
|
||||
=============================================================================================================-->
|
||||
|
||||
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
|
||||
<advanced-search>
|
||||
<forms>
|
||||
<!-- Standard out-of-the-box types -->
|
||||
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content
|
||||
</form>
|
||||
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
|
||||
|
||||
<!-- Custom type -->
|
||||
<form labelId="form.label.advancedsearch.acmeDocument"
|
||||
descriptionId="form.description.advancedsearch.acmeDocument">acme:document
|
||||
</form>
|
||||
</forms>
|
||||
</advanced-search>
|
||||
</config>
|
||||
|
||||
<!--================================================================================================================
|
||||
View, Edit, Create, and Search forms for custom types
|
||||
|
||||
The following form configurations for the custom types
|
||||
have not been created from scratch. We have instead copied
|
||||
out-of-the-box form configurations for cm:content and cm:folder
|
||||
from the tomcat/webapps/share/WEB-INF/classes/alfresco/share-form-config.xml file
|
||||
in a standard Alfresco installation (with the version matching)
|
||||
and used them as a starting point.
|
||||
|
||||
=============================================================================================================-->
|
||||
|
||||
<!-- __________________________________ acme:document base type _________________________________________________-->
|
||||
|
||||
<!-- View and Edit forms for acme:document -->
|
||||
<config evaluator="node-type" condition="acme:document">
|
||||
<forms>
|
||||
<!-- Default form configuration for the cm:content type -->
|
||||
<form>
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<show id="mimetype"/>
|
||||
<show id="cm:author" force="true"/>
|
||||
<show id="size" for-mode="view"/>
|
||||
<show id="cm:creator" for-mode="view"/>
|
||||
<show id="cm:created" for-mode="view"/>
|
||||
<show id="cm:modifier" for-mode="view"/>
|
||||
<show id="cm:modified" for-mode="view"/>
|
||||
|
||||
<!-- tags and categories -->
|
||||
<show id="cm:taggable" for-mode="edit" force="true"/>
|
||||
<show id="cm:categories"/>
|
||||
|
||||
<!-- cm:dublincore aspect -->
|
||||
<show id="cm:publisher"/>
|
||||
<show id="cm:contributor"/>
|
||||
<show id="cm:type"/>
|
||||
<show id="cm:identifier"/>
|
||||
<show id="cm:dcsource"/>
|
||||
<show id="cm:coverage"/>
|
||||
<show id="cm:rights"/>
|
||||
<show id="cm:subject"/>
|
||||
|
||||
<!-- cm:complianceable aspect -->
|
||||
<show id="cm:removeAfter"/>
|
||||
|
||||
<!-- cm:effectivity aspect -->
|
||||
<show id="cm:from"/>
|
||||
<show id="cm:to"/>
|
||||
|
||||
<!-- cm:summarizable aspect -->
|
||||
<show id="cm:summary"/>
|
||||
|
||||
<!-- cm:translatable aspect -->
|
||||
<show id="cm:translations"/>
|
||||
|
||||
<!-- cm:localizable aspect -->
|
||||
<show id="cm:locale"/>
|
||||
|
||||
<!-- cm:ownable aspect -->
|
||||
<show id="cm:owner"/>
|
||||
|
||||
<!-- cm:attachable aspect -->
|
||||
<show id="cm:attachments"/>
|
||||
|
||||
<!-- cm:emailed aspect -->
|
||||
<show id="cm:originator"/>
|
||||
<show id="cm:addressee"/>
|
||||
<show id="cm:addressees"/>
|
||||
<show id="cm:sentdate"/>
|
||||
<show id="cm:subjectline"/>
|
||||
|
||||
<!-- exif:exif aspect -->
|
||||
<show id="exif:dateTimeOriginal"/>
|
||||
<show id="exif:pixelXDimension"/>
|
||||
<show id="exif:pixelYDimension"/>
|
||||
<show id="exif:exposureTime"/>
|
||||
<show id="exif:fNumber"/>
|
||||
<show id="exif:flash"/>
|
||||
<show id="exif:focalLength"/>
|
||||
<show id="exif:isoSpeedRatings"/>
|
||||
<show id="exif:manufacturer"/>
|
||||
<show id="exif:model"/>
|
||||
<show id="exif:software"/>
|
||||
<show id="exif:orientation"/>
|
||||
<show id="exif:xResolution"/>
|
||||
<show id="exif:yResolution"/>
|
||||
<show id="exif:resolutionUnit"/>
|
||||
|
||||
<!-- audio:audio aspect -->
|
||||
<show id="audio:album"/>
|
||||
<show id="audio:artist"/>
|
||||
<show id="audio:composer"/>
|
||||
<show id="audio:engineer"/>
|
||||
<show id="audio:genre"/>
|
||||
<show id="audio:trackNumber"/>
|
||||
<show id="audio:releaseDate"/>
|
||||
<show id="audio:sampleRate"/>
|
||||
<show id="audio:sampleType"/>
|
||||
<show id="audio:channelType"/>
|
||||
<show id="audio:compressor"/>
|
||||
|
||||
<!-- cm:indexControl aspect -->
|
||||
<show id="cm:isIndexed"/>
|
||||
<show id="cm:isContentIndexed"/>
|
||||
|
||||
<!-- cm:geographic aspect -->
|
||||
<show id="cm:latitude"/>
|
||||
<show id="cm:longitude"/>
|
||||
|
||||
<!-- surf:widget aspect -->
|
||||
<show id="surf:widgetType"/>
|
||||
<show id="surf:mid"/>
|
||||
<show id="surf:label"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:description">
|
||||
<control>
|
||||
<control-param name="activateLinks">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
|
||||
|
||||
<field set="cm:content2cols" id="mimetype">
|
||||
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
|
||||
</field>
|
||||
|
||||
<field set="cm:content2cols" id="size">
|
||||
<control template="/org/alfresco/components/form/controls/size.ftl"/>
|
||||
</field>
|
||||
<field set="cm:content2cols" id="cm:creator"/>
|
||||
<field set="cm:content2cols" id="cm:created"/>
|
||||
<field set="cm:content2cols" id="cm:modifier"/>
|
||||
<field set="cm:content2cols" id="cm:modified"/>
|
||||
|
||||
<field id="cm:taggable">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
<control-param name="params">aspect=cm:taggable</control-param>
|
||||
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
|
||||
<control-param name="createNewItemIcon">tag</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:categories">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:originator" read-only="true"/>
|
||||
<field id="cm:addressee" read-only="true"/>
|
||||
<field id="cm:addressees" read-only="true"/>
|
||||
<field id="cm:sentdate" read-only="true"/>
|
||||
<field id="cm:subjectline" read-only="true"/>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
|
||||
<!-- Document Library pop-up Edit Metadata form -->
|
||||
<form id="doclib-simple-metadata">
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<!-- tags and categories -->
|
||||
<show id="cm:taggable" for-mode="edit" force="true"/>
|
||||
<show id="cm:categories"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:description">
|
||||
<control>
|
||||
<control-param name="activateLinks">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:taggable">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
<control-param name="params">aspect=cm:taggable</control-param>
|
||||
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
|
||||
<control-param name="createNewItemIcon">tag</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:categories">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
|
||||
<!-- Document Library Inline Edit form -->
|
||||
<form id="doclib-inline-edit">
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:content" force="true"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:content" label-id="">
|
||||
<control>
|
||||
<control-param name="editorAppearance">explorer</control-param>
|
||||
<control-param name="forceEditor">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
</forms>
|
||||
</config>
|
||||
|
||||
<!-- Create and search forms for acme:document -->
|
||||
<config evaluator="model-type" condition="acme:document">
|
||||
<forms>
|
||||
<form>
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:content" force="true"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<show id="mimetype"/>
|
||||
<show id="app:editInline" force="true"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:content" label-id="">
|
||||
<control>
|
||||
<control-param name="editorAppearance">explorer</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="mimetype">
|
||||
<control template="/org/alfresco/components/form/controls/hidden.ftl">
|
||||
<control-param name="contextProperty">mimeType</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="app:editInline">
|
||||
<control template="/org/alfresco/components/form/controls/hidden.ftl">
|
||||
<control-param name="contextProperty">editInline</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
<!-- Search form -->
|
||||
<form id="search">
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<show id="mimetype"/>
|
||||
<show id="cm:modified"/>
|
||||
<show id="cm:modifier"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="mimetype">
|
||||
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
|
||||
</field>
|
||||
<field id="cm:modifier">
|
||||
<control>
|
||||
<control-param name="forceEditable">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:modified">
|
||||
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
</forms>
|
||||
</config>
|
||||
|
||||
|
||||
</alfresco-config>
|
@@ -1,14 +0,0 @@
|
||||
<!-- Share configuration related to this particular Share module extension, such as:
|
||||
- Doclib action config
|
||||
- Form config
|
||||
- Aspect and Type config
|
||||
|
||||
Note. Any configuration related to the whole Share.war webapp
|
||||
(i.e. not specific to this share extension) should be
|
||||
placed in the environment specific config:
|
||||
allinone/share-war/src/main/resources/alfresco/web-extension/share-config-custom.xml file
|
||||
-->
|
||||
<alfresco-config>
|
||||
|
||||
|
||||
</alfresco-config>
|
@@ -6,4 +6,20 @@
|
||||
# Doc Lib Action Forms labels
|
||||
#
|
||||
|
||||
# Labels for custom types and aspects
|
||||
# Used in "Manage Aspects" and "Change Type" dialogs
|
||||
#
|
||||
type.acme_document=ACME Document
|
||||
aspect.acme_securityClassified=Security Classified
|
||||
|
||||
# View,Edit,Search,Create Form labels for types and aspects
|
||||
#
|
||||
form.set.label.acme.document= ACME Document Information
|
||||
form.field.label.acme.documentId=ACME Document Id
|
||||
form.field.label.acme.securityClassification=Security Classification
|
||||
|
||||
# Advanced Search Form labels (only for types)
|
||||
#
|
||||
form.label.advancedsearch.acmeDocument=ACME Documents
|
||||
form.description.advancedsearch.acmeDocument=Search for any ACME Documents
|
||||
|
||||
|
@@ -0,0 +1,9 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
||||
|
||||
mvnDebug clean install alfresco:run
|
||||
|
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvnDebug clean install alfresco:run
|
@@ -10,6 +10,7 @@
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<!-- Alfresco Maven Plugin version to use -->
|
||||
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -29,43 +30,33 @@
|
||||
|
||||
<!-- Properties used in dependency declarations, you don't need to change these -->
|
||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||
<alfresco.platform.war.artifactId>alfresco-platform</alfresco.platform.war.artifactId>
|
||||
<alfresco.share.war.artifactId>share</alfresco.share.war.artifactId>
|
||||
<!-- Platform WAR artifact, change to 'alfresco-enterprise' if using Enterprise Edition -->
|
||||
<alfresco.platform.war.artifactId>alfresco-platform</alfresco.platform.war.artifactId>
|
||||
|
||||
<!-- Alfresco Platform and Share webapp versions, these are the original Alfresco webapps that will be
|
||||
customized and then deployed and run by the tomcat maven plugin when
|
||||
executing for example $ mvn clean install alfresco:run -->
|
||||
<alfresco.platform.version>5.2.a-EA</alfresco.platform.version>
|
||||
<alfresco.share.version>5.1.g</alfresco.share.version>
|
||||
<alfresco.platform.version>5.2.b-EA</alfresco.platform.version>
|
||||
<alfresco.share.version>5.2.a-EA</alfresco.share.version>
|
||||
|
||||
<!-- Alfresco Surf version, if you change Share version you might need to change Surf version -->
|
||||
<alfresco.surf.version>6.5</alfresco.surf.version>
|
||||
<alfresco.surf.version>6.6</alfresco.surf.version>
|
||||
|
||||
<!-- Aikau framework version, it is released separately, so it can be useful to be able
|
||||
to bring in newer versions with bug fixes etc -->
|
||||
<aikau.version>1.0.82</aikau.version>
|
||||
|
||||
<!-- Alfresco Repo Database configuration.
|
||||
By default it uses a flat file H2 database to be able to run embedded.
|
||||
The H2 database implementation is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
|
||||
see alfresco.db.url below.
|
||||
For more information about the db parameters see:http://www.h2database.com/html/features.html
|
||||
-->
|
||||
<alfresco.db.name>alf_dev</alfresco.db.name>
|
||||
<alfresco.db.username>alfresco</alfresco.db.username>
|
||||
<alfresco.db.password>alfresco</alfresco.db.password>
|
||||
<alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
||||
</alfresco.db.params>
|
||||
<alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}
|
||||
</alfresco.db.url>
|
||||
<alfresco.db.datasource.class>org.h2.jdbcx.JdbcDataSource</alfresco.db.datasource.class>
|
||||
<aikau.version>1.0.85</aikau.version>
|
||||
|
||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||
<jrebel.version>1.1.6</jrebel.version>
|
||||
|
||||
<!-- Environment to use, Alfresco Maven Plugin will copy alfresco-global.properties from this directory -->
|
||||
<!-- Environment to use, Alfresco Maven Plugin will
|
||||
copy alfresco-global-*.properties files from this directory, such as src/test/properties/local -->
|
||||
<env>local</env>
|
||||
|
||||
<!-- Compile with Java 7, default is 5 -->
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
@@ -153,10 +144,82 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</plugin>
|
||||
|
||||
<!-- Filter resources in any sub-project with this config -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||
</nonFilteredFileExtensions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
|
||||
<!-- Make sure resources in sub-projects are filtered -->
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
<plugins>
|
||||
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
|
||||
We need this config so this is done before the Alfresco Maven Plugin 'run' is executed. -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
<inherited>false</inherited>
|
||||
<!-- Run only for the AIO parent Project -->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-and-filter-test-resources</id>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
|
||||
<resources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</testResource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!--
|
||||
The Alfresco Maven Plugin contains all the logic to run the extension
|
||||
in an embedded Tomcat with the H2 database.
|
||||
@@ -177,6 +240,8 @@
|
||||
<enableSolr>true</enableSolr>
|
||||
<!-- We need Share webapp, so we got a UI for working with the Repo -->
|
||||
<enableShare>true</enableShare>
|
||||
<!-- Enable the REST API Explorer -->
|
||||
<enableApiExplorer>true</enableApiExplorer>
|
||||
|
||||
<!--
|
||||
JARs and AMPs that should be overlayed/applied to the Platform/Repository WAR
|
||||
@@ -203,8 +268,8 @@
|
||||
-->
|
||||
<shareModules>
|
||||
<moduleDependency>
|
||||
<!-- Bring in a newer version, can coexist with older versions in the WAR disttribution,
|
||||
newest version is picked -->
|
||||
<!-- Bring in a newer version of Aikau, can coexist with older versions in the
|
||||
WAR distribution, newest version is picked. -->
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>aikau</artifactId>
|
||||
<version>${aikau.version}</version>
|
||||
@@ -220,33 +285,6 @@
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!-- Filter the test resource files in the AIO parent project, and do property substitutions.
|
||||
We need this here to get it done before the Alfresco Maven Plugin run is executed. -->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
<inherited>false</inherited> <!-- Run only for the AIO parent Project -->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-and-filter-test-resources</id>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
|
||||
<resources>
|
||||
<testResource>
|
||||
<directory>src/test/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</testResource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- Hot reloading with JRebel -->
|
||||
<plugin>
|
||||
<groupId>org.zeroturnaround</groupId>
|
||||
@@ -262,26 +300,29 @@
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<!--
|
||||
addResourcesDirToRebelXml - default is false
|
||||
Required if the resource directories are to be added to rebel.xml
|
||||
-->
|
||||
<addResourcesDirToRebelXml>true</addResourcesDirToRebelXml>
|
||||
<!-- For more information about how to configure JRebel plugin see:
|
||||
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
|
||||
<classpath>
|
||||
<fallback>all</fallback>
|
||||
<resources>
|
||||
<resource>
|
||||
<!--
|
||||
Empty resource element marks default configuration. By
|
||||
default it is placed first in generated configuration.
|
||||
-->
|
||||
</resource>
|
||||
</resources>
|
||||
</classpath>
|
||||
|
||||
<!-- Always generate the rebel.xml file no matter what timestamps -->
|
||||
<!--
|
||||
alwaysGenerate - default is false
|
||||
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
|
||||
If 'true' - rebel.xml will always be generated
|
||||
-->
|
||||
<alwaysGenerate>true</alwaysGenerate>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
<resources>
|
||||
<!-- Filter the resource files in all the sub-projects, and do property substitutions -->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
</build>
|
||||
|
||||
<!--
|
||||
@@ -300,6 +341,11 @@
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||
<repository>
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
@@ -315,5 +361,4 @@
|
||||
</snapshots>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
</project>
|
||||
|
@@ -5,5 +5,5 @@
|
||||
|
||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
||||
|
||||
mvn clean install -DskipTests=true alfresco:run
|
||||
mvn clean install alfresco:run
|
||||
|
||||
|
@@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install -DskipTests=true alfresco:run
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install alfresco:run
|
||||
|
@@ -0,0 +1,10 @@
|
||||
# Enterprise License location
|
||||
|
||||
Put the Alfresco Enterprise license file in this directory.
|
||||
It will then be copied into the Platform WAR in the
|
||||
WEB-INF/classes/alfresco/extension/license directory.
|
||||
|
||||
And then not be part of any other classpaths.
|
||||
|
||||
|
||||
|
@@ -0,0 +1,72 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally with Enterprise Database, such as SQL Server, Oracle etc
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
|
||||
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
|
||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Alfresco Repository Enterprise Database Configuration, such as SQL Server, Oracle etc
|
||||
# The Enterprise Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
db.url=jdbc:sqlserver://localhost:1433;databaseName=alfrescoaio
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -0,0 +1,76 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally with H2 Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
|
||||
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
|
||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Alfresco Repository H2 Database configuration.
|
||||
# The H2 database implementation and Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
# The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
|
||||
# see alfresco.db.url below.
|
||||
# For more information about the db parameters see:http://www.h2database.com/html/features.html
|
||||
db.driver=org.h2.jdbcx.JdbcDataSource
|
||||
db.url=jdbc:h2:${alfresco.data.location}/h2_data/alf_dev;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -0,0 +1,72 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally with MySQL Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
|
||||
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
|
||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Alfresco Repository MySQL Database configuration.
|
||||
# The MySQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=org.gjt.mm.mysql.Driver
|
||||
db.url=jdbc:mysql://localhost:3306/alfrescoaio?useUnicode=yes&characterEncoding=UTF-8
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -16,10 +16,9 @@
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally
|
||||
# Alfresco configuration for running locally with PostgreSQL Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# This will create the alf_data_dev directory relative to Tomcat run folder.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
@@ -58,14 +57,14 @@ wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Database connection properties
|
||||
db.driver=${alfresco.db.datasource.class}
|
||||
db.url=${alfresco.db.url}
|
||||
db.username=${alfresco.db.username}
|
||||
db.password=${alfresco.db.password}
|
||||
# Alfresco Repository PostgreSQL Database configuration.
|
||||
# The PostgreSQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=org.postgresql.Driver
|
||||
db.url=jdbc:postgresql://localhost:5432/alfrescoaio
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
@@ -1,3 +1,6 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=error, Console, File
|
||||
|
||||
@@ -261,4 +264,13 @@ log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
|
||||
|
||||
# Authorization
|
||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
|
||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
|
||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Platform module logging
|
||||
#-----------------------------------------------------------------------
|
||||
log4j.logger.${package}.platformsample.DemoComponent=debug
|
||||
log4j.logger.${package}.platformsample.HelloWorldWebScript=debug
|
||||
|
||||
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/assembly</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
@@ -36,14 +36,18 @@
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/*-context.xml</exclude>
|
||||
<exclude>**/log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true" packaged="false">
|
||||
<directory>src/main/resources</directory>
|
||||
<includes>
|
||||
<include>**/*-context.xml</include>
|
||||
<include>**/log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="true">
|
||||
<directory>src/test/resources</directory>
|
||||
<includes>
|
||||
<include>**/dev-log4j.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
@@ -51,6 +55,9 @@
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>**/dev-log4j.properties</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/properties</directory>
|
||||
@@ -58,9 +65,17 @@
|
||||
<include>**/*.properties</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8" filtered="false">
|
||||
<directory>src/test/license</directory>
|
||||
<includes>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory></directory>
|
||||
<includes>
|
||||
<include>debug.sh</include>
|
||||
<include>debug.bat</include>
|
||||
<include>run.sh</include>
|
||||
<include>run.bat</include>
|
||||
<include>README.md</include>
|
||||
|
@@ -0,0 +1,9 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
||||
|
||||
mvnDebug clean install alfresco:run
|
||||
|
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvnDebug clean install alfresco:run
|
@@ -10,6 +10,7 @@
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<!-- Alfresco Maven Plugin version to use -->
|
||||
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -29,35 +30,26 @@
|
||||
|
||||
<!-- Properties used in dependency declarations, you don't need to change these -->
|
||||
<alfresco.groupId>org.alfresco</alfresco.groupId>
|
||||
<!-- Platform WAR artifact, change to 'alfresco-enterprise' if using Enterprise Edition -->
|
||||
<alfresco.platform.war.artifactId>alfresco-platform</alfresco.platform.war.artifactId>
|
||||
|
||||
<!-- Alfresco Platform webapp version, this is the original Alfresco webapp that will be
|
||||
customized and then deployed and run by the tomcat maven plugin when
|
||||
executing for example $ mvn clean install alfresco:run -->
|
||||
<alfresco.platform.version>5.2.a-EA</alfresco.platform.version>
|
||||
<alfresco.platform.version>5.2.b-EA</alfresco.platform.version>
|
||||
<!-- Alfresco Share version, so we can bring in correct alfresco-share-services artifact -->
|
||||
<alfresco.share.version>5.1.g</alfresco.share.version>
|
||||
|
||||
<!-- Alfresco Repo Database configuration.
|
||||
By default it uses a flat file H2 database to be able to run embedded.
|
||||
The H2 database implementation is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
|
||||
see alfresco.db.url below.
|
||||
For more information about the db parameters see:http://www.h2database.com/html/features.html
|
||||
-->
|
||||
<alfresco.db.name>alf_dev</alfresco.db.name>
|
||||
<alfresco.db.username>alfresco</alfresco.db.username>
|
||||
<alfresco.db.password>alfresco</alfresco.db.password>
|
||||
<alfresco.db.params>AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
||||
</alfresco.db.params>
|
||||
<alfresco.db.url>jdbc:h2:${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}
|
||||
</alfresco.db.url>
|
||||
<alfresco.db.datasource.class>org.h2.jdbcx.JdbcDataSource</alfresco.db.datasource.class>
|
||||
<alfresco.share.version>5.2.a-EA</alfresco.share.version>
|
||||
|
||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||
<jrebel.version>1.1.6</jrebel.version>
|
||||
|
||||
<!-- Environment to use, Alfresco Maven Plugin will copy alfresco-global.properties from this directory -->
|
||||
<!-- Environment to use, Alfresco Maven Plugin will
|
||||
copy alfresco-global-*.properties files from this directory, such as src/test/properties/local -->
|
||||
<env>local</env>
|
||||
|
||||
<!-- Compile with Java 7, default is 5 -->
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<!-- This will import the dependencyManagement for all artifacts in the selected Alfresco platform.
|
||||
@@ -108,11 +100,12 @@
|
||||
<enableSolr>true</enableSolr>
|
||||
<!-- We don't need the share.war if we don't have any UI extensions -->
|
||||
<enableShare>false</enableShare>
|
||||
<!-- Enable the REST API Explorer -->
|
||||
<enableApiExplorer>true</enableApiExplorer>
|
||||
|
||||
<!--
|
||||
JARs and AMPs that should be overlayed/applied to the Platform/Repository WAR
|
||||
(i.e. alfresco.war)
|
||||
No need to include our self...
|
||||
-->
|
||||
<platformModules>
|
||||
<!-- This AMP is needed if we are going to access the platform webapp from a Share webapp -->
|
||||
@@ -122,6 +115,14 @@
|
||||
<version>${alfresco.share.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
<!-- Bring in this JAR project, need to be included here, otherwise resources from META-INF
|
||||
will not be loaded, such as the test.html page
|
||||
-->
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>${project.artifactId}</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</moduleDependency>
|
||||
</platformModules>
|
||||
</configuration>
|
||||
</plugin>
|
||||
@@ -167,16 +168,63 @@
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<!--
|
||||
addResourcesDirToRebelXml - default is false
|
||||
Required if the resource directories are to be added to rebel.xml
|
||||
-->
|
||||
<addResourcesDirToRebelXml>true</addResourcesDirToRebelXml>
|
||||
<!-- For more information about how to configure JRebel plugin see:
|
||||
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
|
||||
<classpath>
|
||||
<fallback>all</fallback>
|
||||
<resources>
|
||||
<resource>
|
||||
<!--
|
||||
Empty resource element marks default configuration. By
|
||||
default it is placed first in generated configuration.
|
||||
-->
|
||||
</resource>
|
||||
</resources>
|
||||
</classpath>
|
||||
|
||||
<!-- Always generate the rebel.xml file no matter what timestamps -->
|
||||
<!--
|
||||
alwaysGenerate - default is false
|
||||
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
|
||||
If 'true' - rebel.xml will always be generated
|
||||
-->
|
||||
<alwaysGenerate>true</alwaysGenerate>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||
</nonFilteredFileExtensions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
<resources>
|
||||
@@ -211,6 +259,11 @@
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||
<repository>
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
|
@@ -5,4 +5,4 @@
|
||||
|
||||
set MAVEN_OPTS=-Xms256m -Xmx2G
|
||||
|
||||
mvn clean install -DskipTests=true alfresco:run
|
||||
mvn clean install alfresco:run
|
||||
|
@@ -1,3 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install -DskipTests=true alfresco:run
|
||||
MAVEN_OPTS="-Xms256m -Xmx2G" mvn clean install alfresco:run
|
||||
|
@@ -12,12 +12,39 @@
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
|
||||
<files>
|
||||
<!-- Filter module.properties and put at top level in the AMP -->
|
||||
<file>
|
||||
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||
<filtered>true</filtered>
|
||||
</file>
|
||||
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||
<file>
|
||||
<source>src/main/assembly/file-mapping.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
<fileSets>
|
||||
<!-- Anything in the assembly/lib directory will end up in the /lib directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
<outputDirectory>web</outputDirectory>
|
||||
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<!-- Include the project artifact (JAR) in the /lib directory in the AMP -->
|
||||
<dependencySets>
|
||||
<dependencySet>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
|
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
#
|
||||
# Default mappings are:
|
||||
#
|
||||
# /config=/WEB-INF/classes
|
||||
# /lib=/WEB-INF/lib
|
||||
# /licenses=/WEB-INF/licenses
|
||||
# /web/jsp=/jsp
|
||||
# /web/css=/css
|
||||
# /web/images=/images
|
||||
# /web/scripts=/scripts
|
||||
# /web/php=/php
|
||||
#
|
||||
include.default=true
|
||||
|
||||
#
|
||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||
# Map /web to / in AMP so we can override things like favicon.ico
|
||||
#
|
||||
/web=/
|
||||
|
@@ -0,0 +1,21 @@
|
||||
# 3rd party libraries (JARs) that should be included in WAR
|
||||
|
||||
Put here any 3rd party libraries (JARs) that are needed by customizations,
|
||||
but that are not part of the out-of-the-box libraries in the *alfresco/WEB-INF/lib*
|
||||
directory.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the libs to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-platform-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. If you need to use a library that is available out-of-the-box, then
|
||||
include it as a *provided* dependency in the module.
|
||||
|
||||
|
@@ -0,0 +1,22 @@
|
||||
# Web resources that should override out-of-the-box files
|
||||
|
||||
Put here any web resources that should override out-of-the-box
|
||||
web resources, such as favicon.ico. They will then end up in the
|
||||
*/web* directory in the AMP, and applied to the WAR, and override
|
||||
any existing web resources in the Alfresco.WAR.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-platform-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. New web resources should not be located here, but instead
|
||||
in the usual place in the *src/main/resources/META-INF/resources* directory.
|
||||
|
||||
|
@@ -35,7 +35,7 @@ import org.apache.commons.logging.LogFactory;
|
||||
* @author Maurizio Pillitu
|
||||
*/
|
||||
public class DemoComponent extends AbstractModuleComponent {
|
||||
Log log = LogFactory.getLog(DemoComponent.class);
|
||||
private static Log logger = LogFactory.getLog(DemoComponent.class);
|
||||
|
||||
private NodeService nodeService;
|
||||
|
||||
@@ -55,8 +55,8 @@ public class DemoComponent extends AbstractModuleComponent {
|
||||
@Override
|
||||
protected void executeInternal() throws Throwable {
|
||||
System.out.println("DemoComponent has been executed");
|
||||
log.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||
log.info("This is only for information purposed. Better remove me from the log in Production");
|
||||
logger.debug("Test debug logging. Congratulation your JAR Module is working");
|
||||
logger.info("This is only for information purposed. Better remove me from the log in Production");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -23,6 +23,8 @@ import org.springframework.extensions.webscripts.Cache;
|
||||
import org.springframework.extensions.webscripts.DeclarativeWebScript;
|
||||
import org.springframework.extensions.webscripts.Status;
|
||||
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -34,10 +36,15 @@ import java.util.Map;
|
||||
* @since 2.1.0
|
||||
*/
|
||||
public class HelloWorldWebScript extends DeclarativeWebScript {
|
||||
private static Log logger = LogFactory.getLog(HelloWorldWebScript.class);
|
||||
|
||||
protected Map<String, Object> executeImpl(
|
||||
WebScriptRequest req, Status status, Cache cache) {
|
||||
Map<String, Object> model = new HashMap<String, Object>();
|
||||
model.put("fromJava", "HelloFromJava");
|
||||
|
||||
logger.debug("Your 'Hello World' Web Script was called!");
|
||||
|
||||
return model;
|
||||
}
|
||||
}
|
@@ -18,6 +18,12 @@
|
||||
<value>alfresco/module/${project.artifactId}/model/workflow-model.xml</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<list>
|
||||
<!-- Bootstrap Resource Bundles for the content model types, aspects, properties etc -->
|
||||
<value>alfresco/module/${project.artifactId}/messages/content-model</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="${package}.sampleprocess.workflowBootstrap" parent="workflowDeployer">
|
||||
|
@@ -25,15 +25,15 @@
|
||||
<bean id="${package}.exampleBean" class="${package}.platformsample.Demo" init-method="init" />
|
||||
|
||||
<!-- A simple module component that will be executed once.
|
||||
Note. this module component will only be executed once, and then there will be an entry for it in the Repo.
|
||||
So doing for example $ mvn clean install -Prun twice will only execute this component the first time.
|
||||
Note. this module component will only be executed once, and then there will be an entry for it in the Repo DB.
|
||||
So doing for example $ mvn clean install alfresco:run twice will only execute this component the first time.
|
||||
You need to remove /alf_data_dev for it to be executed again. -->
|
||||
<bean id="${package}.exampleComponent" class="${package}.platformsample.DemoComponent" parent="module.baseComponent" >
|
||||
<property name="moduleId" value="${artifactId}" /> <!-- See module.properties -->
|
||||
<property name="name" value="exampleComponent" />
|
||||
<property name="description" value="A demonstration component" />
|
||||
<property name="sinceVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="1.0" />
|
||||
<property name="appliesFromVersion" value="0.99" /> <!-- 1.0 would not work here when using SNAPSHOT version in project -->
|
||||
<property name="nodeService" ref="NodeService" />
|
||||
<property name="nodeLocatorService" ref="nodeLocatorService" />
|
||||
</bean>
|
||||
|
@@ -1,43 +0,0 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#-----------------------------------------------------------------------
|
||||
# ${artifactId} module log4j.properties
|
||||
#
|
||||
# NOTE
|
||||
# ----
|
||||
# Log4j uses the following logging levels:
|
||||
# debug,info,warn,error,fatal
|
||||
#
|
||||
# To set the logging level of {fullClassName} to {loglevel},
|
||||
# add a line to this file of the following form:
|
||||
#
|
||||
# log4j.logger.{fullClassName}={loglevel}
|
||||
#
|
||||
# For example, to make 'com.example.MyExample' produce 'debug'
|
||||
# logs, add a line like this:
|
||||
#
|
||||
# log4j.logger.com.example.MyExample=debug
|
||||
#
|
||||
#
|
||||
# WARNING
|
||||
# -------
|
||||
# Log properties in this log4j.properties file override/augment
|
||||
# those in the webapp's main log4j.properties.
|
||||
#
|
||||
#-----------------------------------------------------------------------
|
||||
log4j.logger.${package}.platformsample.DemoComponent=debug
|
@@ -0,0 +1,6 @@
|
||||
# This file should contain content model labels
|
||||
|
||||
acme_contentModel.type.acme_document.title=ACME Document
|
||||
acme_contentModel.aspect.acme_securityClassified.title=ACME Security Classified
|
||||
acme_contentModel.property.acme_documentId.title=Document Id
|
||||
acme_contentModel.property.acme_securityClassification.title=Security Classification
|
@@ -0,0 +1,10 @@
|
||||
# Enterprise License location
|
||||
|
||||
Put the Alfresco Enterprise license file in this directory.
|
||||
It will then be copied into the Platform WAR in the
|
||||
WEB-INF/classes/alfresco/extension/license directory.
|
||||
|
||||
And then not be part of any other classpaths.
|
||||
|
||||
|
||||
|
@@ -0,0 +1,72 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally with Enterprise Database, such as SQL Server, Oracle etc
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
|
||||
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
|
||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Alfresco Repository Enterprise Database Configuration, such as SQL Server, Oracle etc
|
||||
# The Enterprise Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
db.url=jdbc:sqlserver://localhost:1433;databaseName=alfrescoaio
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -0,0 +1,76 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally with H2 Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
|
||||
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
|
||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Alfresco Repository H2 Database configuration.
|
||||
# The H2 database implementation and Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
# The data files for the H2 database will be created in a relative path, such as alf_data_dev/h2_data/alf_dev,
|
||||
# see alfresco.db.url below.
|
||||
# For more information about the db parameters see:http://www.h2database.com/html/features.html
|
||||
db.driver=org.h2.jdbcx.JdbcDataSource
|
||||
db.url=jdbc:h2:${alfresco.data.location}/h2_data/alf_dev;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;MVCC=FALSE;LOCK_MODE=0
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -0,0 +1,72 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
# RUN TIME PROPERTIES
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally with MySQL Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
dir.root=${alfresco.data.location}
|
||||
|
||||
# Alfresco Repo Webapp (alfresco.war) context, ports etc
|
||||
alfresco.context=alfresco
|
||||
alfresco.host=localhost
|
||||
alfresco.port=8080
|
||||
alfresco.protocol=http
|
||||
|
||||
# Alfresco Share Webapp (share.war) context, ports etc
|
||||
share.context=share
|
||||
share.host=localhost
|
||||
share.port=8080
|
||||
share.protocol=http
|
||||
|
||||
index.subsystem.name=solr4
|
||||
solr.host=localhost
|
||||
solr.port=8080
|
||||
solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
# If you want to enable them (and so full WQS functionality), please also set index.subsystem.name=lucene
|
||||
wcmqs.dynamicCollectionProcessor.schedule=0 30 2 * * ? 2060
|
||||
wcmqs.feedbackProcessor.schedule=0 40 2 * * ? 2060
|
||||
wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Alfresco Repository MySQL Database configuration.
|
||||
# The MySQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=org.gjt.mm.mysql.Driver
|
||||
db.url=jdbc:mysql://localhost:3306/alfrescoaio?useUnicode=yes&characterEncoding=UTF-8
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
||||
cifs.enabled=false
|
||||
ftp.enabled=false
|
@@ -16,10 +16,9 @@
|
||||
# -------------------
|
||||
|
||||
########################################################################################################################
|
||||
# Alfresco configuration for running locally
|
||||
# Alfresco configuration for running locally with PostgreSQL Database
|
||||
#
|
||||
# Configuration when running Tomcat embedded from Maven.
|
||||
# This will create the alf_data_dev directory relative to Tomcat run folder.
|
||||
# Property values from the POM but it can also be edited here.
|
||||
########################################################################################################################
|
||||
|
||||
@@ -44,6 +43,9 @@ solr.secureComms=none
|
||||
|
||||
# Don't try and recover any index
|
||||
index.recovery.mode=NONE
|
||||
# As we run embedded, we set Lucene
|
||||
# TODO: Find a better solution for indexing, as buildonly (embedded Lucene) is deprecated and going to be removed soon
|
||||
#index.subsystem.name=buildonly
|
||||
|
||||
# These jobs seem to require Lucene (Unsupported Operation with Solr) so we disable them / set to future date
|
||||
# See https://forums.alfresco.com/en/viewtopic.php?f=52&t=41597
|
||||
@@ -55,14 +57,14 @@ wcmqs.publishQueueProcessor.schedule=0 50 2 * * ? 2060
|
||||
# Fail or not when there are node integrity checker errors
|
||||
integrity.failOnError=true
|
||||
|
||||
# Database connection properties
|
||||
db.driver=${alfresco.db.datasource.class}
|
||||
db.url=${alfresco.db.url}
|
||||
db.username=${alfresco.db.username}
|
||||
db.password=${alfresco.db.password}
|
||||
# Alfresco Repository PostgreSQL Database configuration.
|
||||
# The PostgreSQL Driver is brought in via the tomcat7-maven-plugin as a dependency.
|
||||
db.driver=org.postgresql.Driver
|
||||
db.url=jdbc:postgresql://localhost:5432/alfrescoaio
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.pool.initial=10
|
||||
db.pool.max=100
|
||||
hibernate.dialect=org.hibernate.dialect.H2Dialect
|
||||
|
||||
# File servers related properties
|
||||
# For local runs we disable CIFS and FTP
|
@@ -1,3 +1,6 @@
|
||||
#set( $symbol_pound = '#' )
|
||||
#set( $symbol_dollar = '$' )
|
||||
#set( $symbol_escape = '\' )
|
||||
# Set root logger level to error
|
||||
log4j.rootLogger=error, Console, File
|
||||
|
||||
@@ -261,4 +264,10 @@ log4j.logger.org.alfresco.repo.usage.RepoUsageMonitor=info
|
||||
|
||||
# Authorization
|
||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationService=info
|
||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
|
||||
log4j.logger.org.alfresco.enterprise.repo.authorization.AuthorizationsConsistencyMonitor=warn
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
# Platform module logging
|
||||
#-----------------------------------------------------------------------
|
||||
log4j.logger.${package}.platformsample.DemoComponent=debug
|
||||
log4j.logger.${package}.platformsample.HelloWorldWebScript=debug
|
@@ -14,7 +14,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
<fileSet filtered="false" packaged="false" encoding="UTF-8">
|
||||
<directory>src/main/assembly</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
<include>**</include>
|
||||
</includes>
|
||||
</fileSet>
|
||||
<fileSet filtered="true" packaged="true" encoding="UTF-8">
|
||||
@@ -61,6 +61,8 @@
|
||||
<fileSet encoding="UTF-8">
|
||||
<directory></directory>
|
||||
<includes>
|
||||
<include>debug.sh</include>
|
||||
<include>debug.bat</include>
|
||||
<include>run.sh</include>
|
||||
<include>run.bat</include>
|
||||
<include>README.md</include>
|
||||
|
@@ -0,0 +1,10 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
:: Dev environment startup script for Alfresco Community. ::
|
||||
:: ::
|
||||
:: Note. requires Alfresco.war to be running in another ::
|
||||
:: Tomcat on port 8080. ::
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
mvnDebug clean install alfresco:run
|
||||
|
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
# Note. requires Alfresco.war to be running in another Tomcat on port 8080
|
||||
|
||||
mvnDebug clean install alfresco:run
|
@@ -10,7 +10,8 @@
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||
<!-- Alfresco Maven Plugin version to use -->
|
||||
<alfresco.sdk.version>@@alfresco.sdk.parent.version@@</alfresco.sdk.version>
|
||||
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
@@ -21,14 +22,14 @@
|
||||
<!-- Alfresco Share webapp version, this is the original Alfresco webapp that will be
|
||||
customized and then deployed and run by the tomcat maven plugin when
|
||||
executing for example $ mvn clean install alfresco:run -->
|
||||
<alfresco.share.version>5.1.g</alfresco.share.version>
|
||||
<alfresco.share.version>5.2.a-EA</alfresco.share.version>
|
||||
|
||||
<!-- Alfresco Surf version, if you change Share version you might need to change Surf version -->
|
||||
<alfresco.surf.version>6.5</alfresco.surf.version>
|
||||
<alfresco.surf.version>6.6</alfresco.surf.version>
|
||||
|
||||
<!-- Aikau framework version, it is released separately, so it can be useful to be able
|
||||
to bring in newer versions with bug fixes etc -->
|
||||
<aikau.version>1.0.82</aikau.version>
|
||||
<aikau.version>1.0.85</aikau.version>
|
||||
|
||||
<!-- Since alfresco.war (i.e. the Platform/Repository) is already running on port 8080, we run Share.WAR on port 8081.
|
||||
If Alfresco Platform is not running, then generate a platform-jar-module and start it up. -->
|
||||
@@ -36,6 +37,10 @@
|
||||
|
||||
<!-- JRebel Hot reloading of classpath stuff and web resource stuff -->
|
||||
<jrebel.version>1.1.6</jrebel.version>
|
||||
|
||||
<!-- Compile with Java 7, default is 5 -->
|
||||
<maven.compiler.source>1.7</maven.compiler.source>
|
||||
<maven.compiler.target>1.7</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@@ -81,16 +86,22 @@
|
||||
<!--
|
||||
JARs and AMPs that should be overlayed/applied to the Share WAR
|
||||
(i.e. share.war)
|
||||
No need to include our self...
|
||||
-->
|
||||
<shareModules>
|
||||
<moduleDependency>
|
||||
<!-- Bring in a newer version, can coexist with older versions in the WAR disttribution,
|
||||
newest version is picked. -->
|
||||
<!-- Bring in a newer version of Aikau, can coexist with older versions in the
|
||||
WAR distribution, newest version is picked. -->
|
||||
<groupId>${alfresco.groupId}</groupId>
|
||||
<artifactId>aikau</artifactId>
|
||||
<version>${aikau.version}</version>
|
||||
</moduleDependency>
|
||||
<!-- Bring in this JAR project, need to be included here, otherwise share-config-custom.xml
|
||||
will not be picked up. It will not be read from target/classes/META-INF -->
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>${project.artifactId}</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</moduleDependency>
|
||||
</shareModules>
|
||||
</configuration>
|
||||
</plugin>
|
||||
@@ -136,16 +147,63 @@
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<!--
|
||||
addResourcesDirToRebelXml - default is false
|
||||
Required if the resource directories are to be added to rebel.xml
|
||||
-->
|
||||
<addResourcesDirToRebelXml>true</addResourcesDirToRebelXml>
|
||||
<!-- For more information about how to configure JRebel plugin see:
|
||||
http://manuals.zeroturnaround.com/jrebel/standalone/maven.html#maven-rebel-xml -->
|
||||
<classpath>
|
||||
<fallback>all</fallback>
|
||||
<resources>
|
||||
<resource>
|
||||
<!--
|
||||
Empty resource element marks default configuration. By
|
||||
default it is placed first in generated configuration.
|
||||
-->
|
||||
</resource>
|
||||
</resources>
|
||||
</classpath>
|
||||
|
||||
<!-- Always generate the rebel.xml file no matter what timestamps -->
|
||||
<!--
|
||||
alwaysGenerate - default is false
|
||||
If 'false' - rebel.xml is generated if timestamps of pom.xml and the current rebel.xml file are not equal.
|
||||
If 'true' - rebel.xml will always be generated
|
||||
-->
|
||||
<alwaysGenerate>true</alwaysGenerate>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>3.0.1</version>
|
||||
<configuration>
|
||||
<encoding>UTF-8</encoding>
|
||||
<nonFilteredFileExtensions> <!-- jpg, jpeg, gif, bmp and png are added automatically -->
|
||||
<nonFilteredFileExtension>ftl</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>acp</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pdf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>doc</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>docx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ppt</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>pptx</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>bin</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>lic</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>swf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>zip</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>msg</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>jar</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>css</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>ico</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>psd</nonFilteredFileExtension>
|
||||
<nonFilteredFileExtension>js</nonFilteredFileExtension>
|
||||
</nonFilteredFileExtensions>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
|
||||
<resources>
|
||||
@@ -180,6 +238,11 @@
|
||||
<updatePolicy>daily</updatePolicy>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<!-- Alfresco Enterprise Edition Artifacts, put username/pwd for server in settings.xml -->
|
||||
<repository>
|
||||
<id>alfresco-private-repository</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/groups/private</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
|
@@ -6,4 +6,4 @@
|
||||
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
@echo off
|
||||
|
||||
mvn clean install -DskipTests=true alfresco:run
|
||||
mvn clean install alfresco:run
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#!/bin/bash
|
||||
# Note. requires Alfresco.war to be running in another Tomcat on port 8080
|
||||
|
||||
mvn clean install -DskipTests=true alfresco:run
|
||||
mvn clean install alfresco:run
|
||||
|
@@ -10,13 +10,41 @@
|
||||
</formats>
|
||||
|
||||
<includeBaseDirectory>false</includeBaseDirectory>
|
||||
|
||||
<files>
|
||||
<!-- Filter module.properties and put at top level in the AMP -->
|
||||
<file>
|
||||
<source>${project.basedir}/src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||
<source>src/main/resources/alfresco/module/${project.artifactId}/module.properties</source>
|
||||
<filtered>true</filtered>
|
||||
</file>
|
||||
<!-- Include AMP -> WAR mapping file (needed for custom mappings) -->
|
||||
<file>
|
||||
<source>src/main/assembly/file-mapping.properties</source>
|
||||
<filtered>false</filtered>
|
||||
</file>
|
||||
</files>
|
||||
|
||||
<fileSets>
|
||||
<!-- Anything in the assembly/lib directory will end up in the /lib directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/lib</directory>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
<!-- Anything in the assembly/web directory will end up in the /web directory in the AMP -->
|
||||
<fileSet>
|
||||
<directory>src/main/assembly/web</directory>
|
||||
<outputDirectory>web</outputDirectory>
|
||||
<filtered>true</filtered> <!-- Will filter files and substitute POM props such as for example ${project.name} -->
|
||||
<excludes>
|
||||
<exclude>README.md</exclude>
|
||||
</excludes>
|
||||
</fileSet>
|
||||
</fileSets>
|
||||
|
||||
<!-- Include the project artifact (JAR) in the /lib directory in the AMP -->
|
||||
<dependencySets>
|
||||
<dependencySet>
|
||||
<outputDirectory>lib</outputDirectory>
|
||||
|
@@ -0,0 +1,27 @@
|
||||
# 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.
|
||||
#
|
||||
# Default mappings are:
|
||||
#
|
||||
# /config=/WEB-INF/classes
|
||||
# /lib=/WEB-INF/lib
|
||||
# /licenses=/WEB-INF/licenses
|
||||
# /web/jsp=/jsp
|
||||
# /web/css=/css
|
||||
# /web/images=/images
|
||||
# /web/scripts=/scripts
|
||||
# /web/php=/php
|
||||
#
|
||||
include.default=true
|
||||
|
||||
#
|
||||
# Custom mappings. If 'include.default' is false, then this is the complete set.
|
||||
# Map /web to / in AMP so we can override things like favicon.ico
|
||||
#
|
||||
/web=/
|
||||
|
@@ -0,0 +1,19 @@
|
||||
# 3rd party libraries (JARs) that should be included in WAR
|
||||
|
||||
Put here any 3rd party libraries (JARs) that are needed by customizations,
|
||||
but that are not part of the out-of-the-box libraries in the *share/WEB-INF/lib*
|
||||
directory.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the libs to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-share-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. If you need to use a library that is available out-of-the-box, then
|
||||
include it as a *provided* dependency in the module.
|
@@ -0,0 +1,22 @@
|
||||
# Web resources that should override out-of-the-box files
|
||||
|
||||
Put here any web resources that should override out-of-the-box
|
||||
web resources, such as favicon.ico. They will then end up in the
|
||||
*/web* directory in the AMP, and applied to the WAR, and override
|
||||
any existing web resources in the Share.WAR.
|
||||
|
||||
**Note**. Module dependency needs to be set to amp for the web resources to be applied by MMT:
|
||||
|
||||
`
|
||||
<moduleDependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>some-share-jar</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>amp</type>
|
||||
</moduleDependency>
|
||||
`
|
||||
|
||||
**Important**. New web resources should not be located here, but instead
|
||||
in the usual place in the *src/main/resources/META-INF/resources/<module-id>/* directory.
|
||||
|
||||
|
@@ -0,0 +1,420 @@
|
||||
<!-- Share configuration related to this particular Share module extension, such as:
|
||||
- Doclib action config
|
||||
- Form config
|
||||
- Aspect and Type config
|
||||
- Advanced Search
|
||||
|
||||
Note. Any configuration related to the whole Share.war webapp
|
||||
(i.e. not specific to this share extension) should be
|
||||
placed in the environment specific config file:
|
||||
alfresco/tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
|
||||
-->
|
||||
<alfresco-config>
|
||||
<!--================================================================================================================
|
||||
Make custom types and aspects visible in "Change Type" and "Manage Aspects" actions.
|
||||
This will also make them visible when creating rules.
|
||||
(will be merged with out-of-the-box configured types and aspects)
|
||||
=============================================================================================================-->
|
||||
|
||||
<config evaluator="string-compare" condition="DocumentLibrary">
|
||||
<aspects>
|
||||
<visible>
|
||||
<aspect name="acme:securityClassified"/>
|
||||
</visible>
|
||||
<addable> <!-- defaults to visible config -->
|
||||
</addable>
|
||||
<removeable> <!-- defaults to visible config -->
|
||||
</removeable>
|
||||
</aspects>
|
||||
<types>
|
||||
<!-- Define the ACME base doc type as decedent from cm:content -->
|
||||
<type name="cm:content">
|
||||
<subtype name="acme:document"/>
|
||||
</type>
|
||||
</types>
|
||||
</config>
|
||||
|
||||
<!--================================================================================================================
|
||||
Advanced Search Forms for types
|
||||
(search forms for aspects are not available)
|
||||
=============================================================================================================-->
|
||||
|
||||
<config evaluator="string-compare" condition="AdvancedSearch" replace="true">
|
||||
<advanced-search>
|
||||
<forms>
|
||||
<!-- Standard out-of-the-box types -->
|
||||
<form labelId="search.form.label.cm_content" descriptionId="search.form.desc.cm_content">cm:content
|
||||
</form>
|
||||
<form labelId="search.form.label.cm_folder" descriptionId="search.form.desc.cm_folder">cm:folder</form>
|
||||
|
||||
<!-- Custom type -->
|
||||
<form labelId="form.label.advancedsearch.acmeDocument"
|
||||
descriptionId="form.description.advancedsearch.acmeDocument">acme:document
|
||||
</form>
|
||||
</forms>
|
||||
</advanced-search>
|
||||
</config>
|
||||
|
||||
<!--================================================================================================================
|
||||
View, Edit, Create, and Search forms for custom types
|
||||
|
||||
The following form configurations for the custom types
|
||||
have not been created from scratch. We have instead copied
|
||||
out-of-the-box form configurations for cm:content and cm:folder
|
||||
from the tomcat/webapps/share/WEB-INF/classes/alfresco/share-form-config.xml file
|
||||
in a standard Alfresco installation (with the version matching)
|
||||
and used them as a starting point.
|
||||
|
||||
=============================================================================================================-->
|
||||
|
||||
<!-- __________________________________ acme:document base type _________________________________________________-->
|
||||
|
||||
<!-- View and Edit forms for acme:document -->
|
||||
<config evaluator="node-type" condition="acme:document">
|
||||
<forms>
|
||||
<!-- Default form configuration for the cm:content type -->
|
||||
<form>
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<show id="mimetype"/>
|
||||
<show id="cm:author" force="true"/>
|
||||
<show id="size" for-mode="view"/>
|
||||
<show id="cm:creator" for-mode="view"/>
|
||||
<show id="cm:created" for-mode="view"/>
|
||||
<show id="cm:modifier" for-mode="view"/>
|
||||
<show id="cm:modified" for-mode="view"/>
|
||||
|
||||
<!-- tags and categories -->
|
||||
<show id="cm:taggable" for-mode="edit" force="true"/>
|
||||
<show id="cm:categories"/>
|
||||
|
||||
<!-- cm:dublincore aspect -->
|
||||
<show id="cm:publisher"/>
|
||||
<show id="cm:contributor"/>
|
||||
<show id="cm:type"/>
|
||||
<show id="cm:identifier"/>
|
||||
<show id="cm:dcsource"/>
|
||||
<show id="cm:coverage"/>
|
||||
<show id="cm:rights"/>
|
||||
<show id="cm:subject"/>
|
||||
|
||||
<!-- cm:complianceable aspect -->
|
||||
<show id="cm:removeAfter"/>
|
||||
|
||||
<!-- cm:effectivity aspect -->
|
||||
<show id="cm:from"/>
|
||||
<show id="cm:to"/>
|
||||
|
||||
<!-- cm:summarizable aspect -->
|
||||
<show id="cm:summary"/>
|
||||
|
||||
<!-- cm:translatable aspect -->
|
||||
<show id="cm:translations"/>
|
||||
|
||||
<!-- cm:localizable aspect -->
|
||||
<show id="cm:locale"/>
|
||||
|
||||
<!-- cm:ownable aspect -->
|
||||
<show id="cm:owner"/>
|
||||
|
||||
<!-- cm:attachable aspect -->
|
||||
<show id="cm:attachments"/>
|
||||
|
||||
<!-- cm:emailed aspect -->
|
||||
<show id="cm:originator"/>
|
||||
<show id="cm:addressee"/>
|
||||
<show id="cm:addressees"/>
|
||||
<show id="cm:sentdate"/>
|
||||
<show id="cm:subjectline"/>
|
||||
|
||||
<!-- exif:exif aspect -->
|
||||
<show id="exif:dateTimeOriginal"/>
|
||||
<show id="exif:pixelXDimension"/>
|
||||
<show id="exif:pixelYDimension"/>
|
||||
<show id="exif:exposureTime"/>
|
||||
<show id="exif:fNumber"/>
|
||||
<show id="exif:flash"/>
|
||||
<show id="exif:focalLength"/>
|
||||
<show id="exif:isoSpeedRatings"/>
|
||||
<show id="exif:manufacturer"/>
|
||||
<show id="exif:model"/>
|
||||
<show id="exif:software"/>
|
||||
<show id="exif:orientation"/>
|
||||
<show id="exif:xResolution"/>
|
||||
<show id="exif:yResolution"/>
|
||||
<show id="exif:resolutionUnit"/>
|
||||
|
||||
<!-- audio:audio aspect -->
|
||||
<show id="audio:album"/>
|
||||
<show id="audio:artist"/>
|
||||
<show id="audio:composer"/>
|
||||
<show id="audio:engineer"/>
|
||||
<show id="audio:genre"/>
|
||||
<show id="audio:trackNumber"/>
|
||||
<show id="audio:releaseDate"/>
|
||||
<show id="audio:sampleRate"/>
|
||||
<show id="audio:sampleType"/>
|
||||
<show id="audio:channelType"/>
|
||||
<show id="audio:compressor"/>
|
||||
|
||||
<!-- cm:indexControl aspect -->
|
||||
<show id="cm:isIndexed"/>
|
||||
<show id="cm:isContentIndexed"/>
|
||||
|
||||
<!-- cm:geographic aspect -->
|
||||
<show id="cm:latitude"/>
|
||||
<show id="cm:longitude"/>
|
||||
|
||||
<!-- surf:widget aspect -->
|
||||
<show id="surf:widgetType"/>
|
||||
<show id="surf:mid"/>
|
||||
<show id="surf:label"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:description">
|
||||
<control>
|
||||
<control-param name="activateLinks">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<set id="cm:content2cols" template="/org/alfresco/components/form/2-column-set.ftl"/>
|
||||
|
||||
<field set="cm:content2cols" id="mimetype">
|
||||
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
|
||||
</field>
|
||||
|
||||
<field set="cm:content2cols" id="size">
|
||||
<control template="/org/alfresco/components/form/controls/size.ftl"/>
|
||||
</field>
|
||||
<field set="cm:content2cols" id="cm:creator"/>
|
||||
<field set="cm:content2cols" id="cm:created"/>
|
||||
<field set="cm:content2cols" id="cm:modifier"/>
|
||||
<field set="cm:content2cols" id="cm:modified"/>
|
||||
|
||||
<field id="cm:taggable">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
<control-param name="params">aspect=cm:taggable</control-param>
|
||||
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
|
||||
<control-param name="createNewItemIcon">tag</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:categories">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:originator" read-only="true"/>
|
||||
<field id="cm:addressee" read-only="true"/>
|
||||
<field id="cm:addressees" read-only="true"/>
|
||||
<field id="cm:sentdate" read-only="true"/>
|
||||
<field id="cm:subjectline" read-only="true"/>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
|
||||
<!-- Document Library pop-up Edit Metadata form -->
|
||||
<form id="doclib-simple-metadata">
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<!-- tags and categories -->
|
||||
<show id="cm:taggable" for-mode="edit" force="true"/>
|
||||
<show id="cm:categories"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<edit-form template="../documentlibrary/forms/doclib-simple-metadata.ftl"/>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:description">
|
||||
<control>
|
||||
<control-param name="activateLinks">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:taggable">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
<control-param name="params">aspect=cm:taggable</control-param>
|
||||
<control-param name="createNewItemUri">/api/tag/workspace/SpacesStore</control-param>
|
||||
<control-param name="createNewItemIcon">tag</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:categories">
|
||||
<control>
|
||||
<control-param name="compactMode">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
|
||||
<!-- Document Library Inline Edit form -->
|
||||
<form id="doclib-inline-edit">
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:content" force="true"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:content" label-id="">
|
||||
<control>
|
||||
<control-param name="editorAppearance">explorer</control-param>
|
||||
<control-param name="forceEditor">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
</forms>
|
||||
</config>
|
||||
|
||||
<!-- Create and search forms for acme:document -->
|
||||
<config evaluator="model-type" condition="acme:document">
|
||||
<forms>
|
||||
<form>
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:content" force="true"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<show id="mimetype"/>
|
||||
<show id="app:editInline" force="true"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="cm:name">
|
||||
<control>
|
||||
<control-param name="maxLength">255</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:title">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="cm:content" label-id="">
|
||||
<control>
|
||||
<control-param name="editorAppearance">explorer</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="mimetype">
|
||||
<control template="/org/alfresco/components/form/controls/hidden.ftl">
|
||||
<control-param name="contextProperty">mimeType</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="app:editInline">
|
||||
<control template="/org/alfresco/components/form/controls/hidden.ftl">
|
||||
<control-param name="contextProperty">editInline</control-param>
|
||||
</control>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
<!-- Search form -->
|
||||
<form id="search">
|
||||
<field-visibility>
|
||||
<show id="cm:name"/>
|
||||
<show id="cm:title" force="true"/>
|
||||
<show id="cm:description" force="true"/>
|
||||
<show id="mimetype"/>
|
||||
<show id="cm:modified"/>
|
||||
<show id="cm:modifier"/>
|
||||
|
||||
<!-- ACME custom props -->
|
||||
<show id="acme:documentId" force="true"/>
|
||||
<show id="acme:securityClassification"/>
|
||||
</field-visibility>
|
||||
<appearance>
|
||||
<field id="mimetype">
|
||||
<control template="/org/alfresco/components/form/controls/mimetype.ftl"/>
|
||||
</field>
|
||||
<field id="cm:modifier">
|
||||
<control>
|
||||
<control-param name="forceEditable">true</control-param>
|
||||
</control>
|
||||
</field>
|
||||
<field id="cm:modified">
|
||||
<control template="/org/alfresco/components/form/controls/daterange.ftl"/>
|
||||
</field>
|
||||
|
||||
<!-- ACME Props appearance -->
|
||||
<set id="acmeDocSet" appearance="bordered-panel" label-id="form.set.label.acme.document"/>
|
||||
<field id="acme:documentId" label-id="form.field.label.acme.documentId" set="acmeDocSet">
|
||||
<control template="/org/alfresco/components/form/controls/textfield.ftl"/>
|
||||
</field>
|
||||
<field id="acme:securityClassification" label-id="form.field.label.acme.securityClassification"
|
||||
set="acmeDocSet"/>
|
||||
</appearance>
|
||||
</form>
|
||||
</forms>
|
||||
</config>
|
||||
|
||||
|
||||
</alfresco-config>
|
@@ -1,14 +0,0 @@
|
||||
<!-- Share configuration related to this particular Share module extension, such as:
|
||||
- Doclib action config
|
||||
- Form config
|
||||
- Aspect and Type config
|
||||
|
||||
Note. Any configuration related to the whole Share.war webapp
|
||||
(i.e. not specific to this share extension) should be
|
||||
placed in the environment specific config:
|
||||
allinone/share-war/src/main/resources/alfresco/web-extension/share-config-custom.xml file
|
||||
-->
|
||||
<alfresco-config>
|
||||
|
||||
|
||||
</alfresco-config>
|
@@ -6,4 +6,20 @@
|
||||
# Doc Lib Action Forms labels
|
||||
#
|
||||
|
||||
# Labels for custom types and aspects
|
||||
# Used in "Manage Aspects" and "Change Type" dialogs
|
||||
#
|
||||
type.acme_document=ACME Document
|
||||
aspect.acme_securityClassified=Security Classified
|
||||
|
||||
# View,Edit,Search,Create Form labels for types and aspects
|
||||
#
|
||||
form.set.label.acme.document= ACME Document Information
|
||||
form.field.label.acme.documentId=ACME Document Id
|
||||
form.field.label.acme.securityClassification=Security Classification
|
||||
|
||||
# Advanced Search Form labels (only for types)
|
||||
#
|
||||
form.label.advancedsearch.acmeDocument=ACME Documents
|
||||
form.description.advancedsearch.acmeDocument=Search for any ACME Documents
|
||||
|
||||
|
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
|
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
@@ -134,6 +134,13 @@
|
||||
<artifactId>mojo-executor</artifactId>
|
||||
<version>2.2.0</version>
|
||||
</dependency>
|
||||
<!-- ZIP directories in an easy way -->
|
||||
<dependency>
|
||||
<groupId>org.zeroturnaround</groupId>
|
||||
<artifactId>zt-zip</artifactId>
|
||||
<version>1.9</version>
|
||||
<type>jar</type>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<reporting>
|
||||
|
@@ -17,7 +17,8 @@
|
||||
*/
|
||||
package org.alfresco.maven.plugin;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.alfresco.maven.plugin.config.ModuleDependency;
|
||||
import org.alfresco.maven.plugin.config.TomcatDependency;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.maven.execution.MavenSession;
|
||||
import org.apache.maven.model.Dependency;
|
||||
@@ -31,9 +32,9 @@ import org.apache.maven.plugins.annotations.LifecyclePhase;
|
||||
import org.apache.maven.plugins.annotations.Mojo;
|
||||
import org.apache.maven.plugins.annotations.ResolutionScope;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.zeroturnaround.zip.ZipUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import static org.twdata.maven.mojoexecutor.MojoExecutor.*;
|
||||
@@ -52,7 +53,6 @@ import static org.twdata.maven.mojoexecutor.MojoExecutor.*;
|
||||
requiresDependencyResolution = ResolutionScope.TEST)
|
||||
public class RunMojo extends AbstractMojo {
|
||||
public static final String MAVEN_DEPENDENCY_PLUGIN_VERSION = "2.10";
|
||||
public static final String MAVEN_WAR_PLUGIN_VERSION = "2.6";
|
||||
public static final String MAVEN_INSTALL_PLUGIN_VERSION = "2.5.2";
|
||||
public static final String MAVEN_REPLACER_PLUGIN_VERSION = "1.5.3";
|
||||
public static final String MAVEN_RESOURCE_PLUGIN_VERSION = "2.7";
|
||||
@@ -77,7 +77,7 @@ public class RunMojo extends AbstractMojo {
|
||||
/**
|
||||
* The following properties that start with 'maven.' are used to control the
|
||||
* Alfresco Maven plugin itself.
|
||||
* <p/>
|
||||
* <pre>
|
||||
* For example:
|
||||
* {@code
|
||||
* <plugin>
|
||||
@@ -101,6 +101,7 @@ public class RunMojo extends AbstractMojo {
|
||||
* </configuration>
|
||||
* </plugin>
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -113,9 +114,27 @@ public class RunMojo extends AbstractMojo {
|
||||
* Switch to enable/disable the H2 database when running embedded Tomcat.
|
||||
* This also brings in the needed H2 database scripts.
|
||||
*/
|
||||
@Parameter(property = "maven.alfresco.enableH2", defaultValue = "true")
|
||||
@Parameter(property = "maven.alfresco.enableH2", defaultValue = "false")
|
||||
protected boolean enableH2;
|
||||
|
||||
/**
|
||||
* Switch to enable/disable the MySQL database when running embedded Tomcat.
|
||||
*/
|
||||
@Parameter(property = "maven.alfresco.enableMySQL", defaultValue = "false")
|
||||
protected boolean enableMySQL;
|
||||
|
||||
/**
|
||||
* Switch to enable/disable the PostgreSQL database when running embedded Tomcat.
|
||||
*/
|
||||
@Parameter(property = "maven.alfresco.enablePostgreSQL", defaultValue = "false")
|
||||
protected boolean enablePostgreSQL;
|
||||
|
||||
/**
|
||||
* Switch to enable/disable the Enterprise database (such as Oracle or MS SQL Server) when running embedded Tomcat.
|
||||
*/
|
||||
@Parameter(property = "maven.alfresco.enableEnterpriseDb", defaultValue = "false")
|
||||
protected boolean enableEnterpriseDb;
|
||||
|
||||
/**
|
||||
* Switch to enable/disable the Platform/Repository (alfresco.war) when running embedded Tomcat.
|
||||
*/
|
||||
@@ -176,6 +195,14 @@ public class RunMojo extends AbstractMojo {
|
||||
@Parameter(property = "maven.alfresco.edition", defaultValue = ALFRESCO_COMMUNITY_EDITION)
|
||||
protected String alfrescoEdition;
|
||||
|
||||
/**
|
||||
* Tomcat Dependencies that should be added to the Embedded Tomcat configuration before start.
|
||||
* Normally there would not be any extra dependencies, but could be if you run an Enterprise database
|
||||
* such as Oracle, for which there's no quick config, such as enableH2, enableMySQL, or enablePostgreSQL.
|
||||
*/
|
||||
@Parameter(property = "maven.alfresco.tomcat.dependencies", defaultValue = "")
|
||||
protected List<TomcatDependency> tomcatDependencies;
|
||||
|
||||
/**
|
||||
* Maven GAV properties for standard Alfresco web applications.
|
||||
*/
|
||||
@@ -200,7 +227,7 @@ public class RunMojo extends AbstractMojo {
|
||||
@Parameter(property = "alfresco.share.version", defaultValue = "5.1.g")
|
||||
protected String alfrescoShareVersion;
|
||||
|
||||
@Parameter(property = "alfresco.api.explorer.version", defaultValue = "1.0")
|
||||
@Parameter(property = "alfresco.api.explorer.version", defaultValue = "1.2")
|
||||
protected String alfrescoApiExplorerVersion;
|
||||
|
||||
/**
|
||||
@@ -219,13 +246,6 @@ public class RunMojo extends AbstractMojo {
|
||||
private String runnerAlfrescoPlatformVersion;
|
||||
private String runnerAlfrescoShareVersion;
|
||||
|
||||
/**
|
||||
* Database JDBC connection URL
|
||||
* TODO: Is this parameter needed here?
|
||||
*/
|
||||
// @Parameter(property = "alfresco.db.url", defaultValue = "jdbc:h2:./${alfresco.data.location}/h2_data/${alfresco.db.name};${alfresco.db.params}")
|
||||
// protected String alfrescoDbUrl;
|
||||
|
||||
/**
|
||||
* The Maven environment that this mojo is executed in
|
||||
*/
|
||||
@@ -247,6 +267,7 @@ public class RunMojo extends AbstractMojo {
|
||||
|
||||
if (enableTestProperties) {
|
||||
copyAlfrescoGlobalProperties();
|
||||
renameAlfrescoGlobalProperties();
|
||||
}
|
||||
|
||||
if (enablePlatform) {
|
||||
@@ -258,6 +279,7 @@ public class RunMojo extends AbstractMojo {
|
||||
}
|
||||
|
||||
if (startTomcat) {
|
||||
checkDatabaseConfig();
|
||||
startTomcat();
|
||||
}
|
||||
}
|
||||
@@ -430,14 +452,14 @@ public class RunMojo extends AbstractMojo {
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy the alfresco-global.properties file that will be used when
|
||||
* running Alfresco. It contains database connection parameters and
|
||||
* Copy the different alfresco-global-*.properties files (there are one for each open source db and one for
|
||||
* enterprise db config) that will be used when running Alfresco. It contains database connection parameters and
|
||||
* other general configuration for Alfresco Repository (alfresco.war)
|
||||
*
|
||||
* @throws MojoExecutionException
|
||||
*/
|
||||
protected void copyAlfrescoGlobalProperties() throws MojoExecutionException {
|
||||
getLog().info("Copying alfresco-global.properties to test resources");
|
||||
getLog().info("Copying and filtering alfresco-global-*.properties files to target/test-classes");
|
||||
executeMojo(
|
||||
plugin(
|
||||
groupId("org.apache.maven.plugins"),
|
||||
@@ -461,8 +483,48 @@ public class RunMojo extends AbstractMojo {
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rename the configured database specific alfresco-global-*.properties file to
|
||||
* alfresco-global.properties so it will be used during Tomcat run.
|
||||
*
|
||||
* @throws MojoExecutionException
|
||||
*/
|
||||
protected void renameAlfrescoGlobalProperties() throws MojoExecutionException {
|
||||
String alfrescoGlobalFilePath = "${project.build.testOutputDirectory}/alfresco-global-";
|
||||
if (enableH2) {
|
||||
alfrescoGlobalFilePath += "h2.properties";
|
||||
getLog().info("Renaming alfresco-global-h2.properties to alfresco-global.properties");
|
||||
} else if (enableMySQL) {
|
||||
alfrescoGlobalFilePath += "mysql.properties";
|
||||
getLog().info("Renaming alfresco-global-mysql.properties to alfresco-global.properties");
|
||||
} else if (enablePostgreSQL) {
|
||||
alfrescoGlobalFilePath += "postgresql.properties";
|
||||
getLog().info("Renaming alfresco-global-postgresql.properties to alfresco-global.properties");
|
||||
} else if (enableEnterpriseDb) {
|
||||
alfrescoGlobalFilePath += "enterprise.properties";
|
||||
getLog().info("Renaming alfresco-global-enterprise.properties to alfresco-global.properties");
|
||||
} else {
|
||||
throw new MojoExecutionException("Invalid database configuration, use enableH2, enableMySQL, " +
|
||||
"enablePostgreSQL, or enabaleEnterpriseDb");
|
||||
}
|
||||
executeMojo(
|
||||
plugin(
|
||||
groupId("com.coderplus.maven.plugins"),
|
||||
artifactId("copy-rename-maven-plugin"),
|
||||
version("1.0")
|
||||
),
|
||||
goal("rename"),
|
||||
configuration(
|
||||
element(name("sourceFile"), alfrescoGlobalFilePath),
|
||||
element(name("destinationFile"), "${project.build.testOutputDirectory}/alfresco-global.properties")
|
||||
),
|
||||
execEnv
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Copy the Alfresco Enterprise license to its correct place in the Platform WAR, if it exists.
|
||||
* It is not enough to have it on the test classpath, then it will start up as Trial license...
|
||||
*
|
||||
* @throws MojoExecutionException
|
||||
*/
|
||||
@@ -488,7 +550,7 @@ public class RunMojo extends AbstractMojo {
|
||||
element(name("outputDirectory"), licDestDir),
|
||||
element(name("resources"),
|
||||
element(name("resource"),
|
||||
element(name("directory"), "src/main/resources/alfresco/extension/license"),
|
||||
element(name("directory"), "src/test/license"),
|
||||
element(name("includes"),
|
||||
element(name("include"), "*.lic")
|
||||
),
|
||||
@@ -500,7 +562,6 @@ public class RunMojo extends AbstractMojo {
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Build the customized Platform webapp (i.e. the Repository, alfresco.war)
|
||||
* that should be deployed by Tomcat by applying all AMPs and JARs from
|
||||
@@ -557,7 +618,7 @@ public class RunMojo extends AbstractMojo {
|
||||
List<Element> ampModules = new ArrayList<>();
|
||||
List<Element> jarModules = new ArrayList<>();
|
||||
|
||||
if (modules != null) {
|
||||
if (modules != null && modules.size() > 0) {
|
||||
for (ModuleDependency moduleDep : modules) {
|
||||
Element el = element(name("artifactItem"),
|
||||
element(name("groupId"), moduleDep.getGroupId()),
|
||||
@@ -633,8 +694,8 @@ public class RunMojo extends AbstractMojo {
|
||||
|
||||
// Then apply all these amps to the unpacked war
|
||||
// Call the Alfresco Maven Plugin Install Mojo directly, so we don't have to keep SDK version info here
|
||||
String ampsLocation = project.getBasedir() + "/target/" + ampsModuleDir;
|
||||
String warLocation = project.getBasedir() + "/target/" + getWarName(warName);
|
||||
String ampsLocation = project.getBuild().getDirectory() + "/" + ampsModuleDir;
|
||||
String warLocation = project.getBuild().getDirectory() + "/" + getWarName(warName);
|
||||
InstallMojo installMojo = new InstallMojo();
|
||||
installMojo.setAmpLocation(new File(ampsLocation));
|
||||
installMojo.setWarLocation(new File(warLocation));
|
||||
@@ -676,39 +737,12 @@ public class RunMojo extends AbstractMojo {
|
||||
final String warSourceDir = getWarOutputDir(warName);
|
||||
|
||||
// Package the customized war file
|
||||
executeMojo(
|
||||
plugin(
|
||||
groupId("org.apache.maven.plugins"),
|
||||
artifactId("maven-war-plugin"),
|
||||
version(MAVEN_WAR_PLUGIN_VERSION)
|
||||
),
|
||||
goal("war"),
|
||||
configuration(
|
||||
element(name("warName"), warName),
|
||||
element(name("warSourceDirectory"), warSourceDir),
|
||||
// Specifically tell the archiver where the manifest file is,
|
||||
// so a new manifest is not generated.
|
||||
// We are picking the manifest from the original war.
|
||||
// If we don't do this, then customized share.war will not start properly.
|
||||
element(name("archive"),
|
||||
element(name("manifestFile"), warSourceDir + "/META-INF/MANIFEST.MF")
|
||||
)
|
||||
)
|
||||
, execEnv
|
||||
);
|
||||
// Note. don't use the maven-war-plugin here as it will package the module files twice, once from the
|
||||
// target/classes dir and once via the JAR
|
||||
String warPath = project.getBuild().getDirectory() + "/" + warName + ".war";
|
||||
ZipUtil.pack(new File(warSourceDir), new File(warPath));
|
||||
|
||||
// Delete temporary webapp assembly dir, so it is not added to next webapp that is assembled...
|
||||
// (otherwise share.war will contain alfresco.war stuff)
|
||||
String tempAssemblyDir = project.getBasedir() + "/target/" + project.getArtifactId() + "-" + project.getVersion();
|
||||
getLog().info("Deleting temp webapp assembly dir: " + tempAssemblyDir);
|
||||
File tempWebAppAssemblyDir = new File(tempAssemblyDir);
|
||||
try {
|
||||
FileUtils.deleteDirectory(tempWebAppAssemblyDir);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Install the customized war file in local maven repo
|
||||
// Install the customized war file in the local maven repo
|
||||
executeMojo(
|
||||
plugin(
|
||||
groupId("org.apache.maven.plugins"),
|
||||
@@ -717,7 +751,7 @@ public class RunMojo extends AbstractMojo {
|
||||
),
|
||||
goal("install-file"),
|
||||
configuration(
|
||||
element(name("file"), "${project.build.directory}/" + warName + ".war"),
|
||||
element(name("file"), warPath),
|
||||
element(name("groupId"), "${project.groupId}"),
|
||||
element(name("artifactId"), warArtifactId),
|
||||
element(name("version"), "${project.version}"),
|
||||
@@ -729,6 +763,30 @@ public class RunMojo extends AbstractMojo {
|
||||
return warArtifactId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that a database configuration has been supplied correctly
|
||||
*/
|
||||
private void checkDatabaseConfig() throws MojoExecutionException {
|
||||
if (enableH2 && !enableMySQL && !enablePostgreSQL) {
|
||||
// Run with the H2 database
|
||||
return;
|
||||
} else if (!enableH2 && enableMySQL && !enablePostgreSQL) {
|
||||
// Run with the MySQL database
|
||||
return;
|
||||
} else if (!enableH2 && !enableMySQL && enablePostgreSQL) {
|
||||
// Run with the PostgreSQL database
|
||||
return;
|
||||
} else if (!enableH2 && !enableMySQL && !enablePostgreSQL) {
|
||||
// Run with a database configured via Tomcat Dependencies
|
||||
return;
|
||||
} else {
|
||||
throw new MojoExecutionException(
|
||||
"Invalid database configuration, " +
|
||||
"should be enableH2 or enableMySQL or enablePostgreSQL " +
|
||||
"or none (i.e. config via Tomcat Dependencies)");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Start up the embedded Tomcat server with the webapps that has been
|
||||
* configured in the SDK project.
|
||||
@@ -738,27 +796,43 @@ public class RunMojo extends AbstractMojo {
|
||||
protected void startTomcat() throws MojoExecutionException {
|
||||
getLog().info("Starting Tomcat");
|
||||
|
||||
List<Dependency> tomcatDependencies = new ArrayList<Dependency>();
|
||||
List<Dependency> tomcatPluginDependencies = new ArrayList<Dependency>();
|
||||
ArrayList webapps2Deploy = new ArrayList<Element>();
|
||||
|
||||
// Add the basic Tomcat dependencies
|
||||
tomcatDependencies.add(
|
||||
tomcatPluginDependencies.add(
|
||||
// Packaging goes faster with this lib
|
||||
dependency("org.codehaus.plexus", "plexus-archiver", "2.3"));
|
||||
tomcatDependencies.add(
|
||||
tomcatPluginDependencies.add(
|
||||
// The following dependency is needed, otherwise you get
|
||||
// Caused by: java.lang.NoSuchMethodError:
|
||||
// javax.servlet.ServletContext.getSessionCookieConfig()Ljavax/servlet/SessionCookieConfig
|
||||
// This method is in Servlet API 3.0
|
||||
dependency("javax.servlet", "javax.servlet-api", "3.0.1"));
|
||||
|
||||
// Do we have any extra Tomcat Plugin dependencies to include?
|
||||
if (tomcatDependencies != null && tomcatDependencies.size() > 0) {
|
||||
for (TomcatDependency tomcatDep : tomcatDependencies) {
|
||||
tomcatPluginDependencies.add(
|
||||
dependency(tomcatDep.getGroupId(), tomcatDep.getArtifactId(), tomcatDep.getVersion()));
|
||||
}
|
||||
}
|
||||
|
||||
if (enableH2) {
|
||||
tomcatDependencies.add(
|
||||
tomcatPluginDependencies.add(
|
||||
// Bring in the flat file H2 database
|
||||
dependency("com.h2database", "h2", "1.4.190"));
|
||||
|
||||
// Copy the h2 scripts
|
||||
copyH2Dialect();
|
||||
} else if (enableMySQL) {
|
||||
tomcatPluginDependencies.add(
|
||||
// Bring in the MySQL JDBC Driver
|
||||
dependency("mysql", "mysql-connector-java", "5.1.32"));
|
||||
} else if (enablePostgreSQL) {
|
||||
tomcatPluginDependencies.add(
|
||||
// Bring in the PostgreSQL JDBC Driver
|
||||
dependency("org.postgresql", "postgresql", "9.4-1201-jdbc41"));
|
||||
}
|
||||
|
||||
if (enablePlatform) {
|
||||
@@ -792,12 +866,13 @@ public class RunMojo extends AbstractMojo {
|
||||
groupId("org.apache.tomcat.maven"),
|
||||
artifactId("tomcat7-maven-plugin"),
|
||||
version(MAVEN_TOMCAT7_PLUGIN_VERSION),
|
||||
tomcatDependencies
|
||||
tomcatPluginDependencies
|
||||
),
|
||||
goal("run"),
|
||||
configuration(
|
||||
/*
|
||||
* SDK Projects doesn't have packaging set to 'war', they are JARs or POMs, this setting ignores that fact.
|
||||
* SDK Projects doesn't have packaging set to 'war', they are JARs or POMs,
|
||||
* this setting ignores that fact.
|
||||
*/
|
||||
element(name("ignorePackaging"), "true"),
|
||||
|
||||
@@ -810,10 +885,11 @@ public class RunMojo extends AbstractMojo {
|
||||
* (which lives in Servlet API 3)
|
||||
*
|
||||
*/
|
||||
//element(name("useSeparateTomcatClassLoader"), "true"),
|
||||
element(name("useSeparateTomcatClassLoader"), "true"),
|
||||
|
||||
/*
|
||||
* Bring in stuff in the test classpath, such as the alfresco-global.properties that should be used
|
||||
* Bring in stuff in the test classpath, such as the alfresco-global.properties
|
||||
* that should be used
|
||||
*/
|
||||
element(name("useTestClasspath"), "true"),
|
||||
|
||||
@@ -922,9 +998,7 @@ public class RunMojo extends AbstractMojo {
|
||||
* @return true if platform version >= 5.1
|
||||
*/
|
||||
private boolean isPlatformVersionGtOrEqTo51() {
|
||||
int versionNumber = Integer.parseInt(
|
||||
alfrescoPlatformVersion.replaceAll("[^0-9]", "").substring(0, 2));
|
||||
if (versionNumber >= 51) {
|
||||
if (getPlatformVersionNumber() >= 51) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -938,15 +1012,22 @@ public class RunMojo extends AbstractMojo {
|
||||
* @return true if platform version <= 4.2
|
||||
*/
|
||||
private boolean isPlatformVersionLtOrEqTo42() {
|
||||
int versionNumber = Integer.parseInt(
|
||||
alfrescoPlatformVersion.replaceAll("[^0-9]", "").substring(0, 2));
|
||||
if (versionNumber <= 42) {
|
||||
if (getPlatformVersionNumber() <= 42) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Grabs the first 2 numbers in the version string
|
||||
*
|
||||
* @return major and minor version as int, such as 41,50,51
|
||||
*/
|
||||
private int getPlatformVersionNumber() {
|
||||
return Integer.parseInt(alfrescoPlatformVersion.replaceAll("[^0-9]", "").substring(0, 2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Solr artifactId, it changes when we move to Solr 4 in Alfresco version 5
|
||||
*
|
||||
@@ -1098,7 +1179,7 @@ public class RunMojo extends AbstractMojo {
|
||||
* @return a directory such as: .../aio/target/platform-war
|
||||
*/
|
||||
private String getWarOutputDir(String baseWarName) {
|
||||
return "${project.build.directory}/" + getWarName(baseWarName);
|
||||
return project.getBuild().getDirectory() + "/" + getWarName(baseWarName);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
* Copyright (C) 2016 Alfresco Software Limited.
|
||||
* <p/>
|
||||
* This file is part of the Alfresco SDK Samples project.
|
||||
* <p/>
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* <p/>
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* <p/>
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.alfresco.maven.plugin.config;
|
||||
|
||||
/**
|
||||
* A Maven Dependency containing the Group ID, Artifact ID, and Version (GAV).
|
||||
*
|
||||
* @author martin.bergljung@alfresco.com
|
||||
* @version 1.0
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public abstract class MavenDependency {
|
||||
private String groupId;
|
||||
private String artifactId;
|
||||
private String version;
|
||||
|
||||
public MavenDependency() {}
|
||||
|
||||
public MavenDependency(String g, String a, String v) {
|
||||
this.groupId = g;
|
||||
this.artifactId = a;
|
||||
this.version = v;
|
||||
}
|
||||
|
||||
public String getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
|
||||
public void setGroupId(String groupId) {
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public String getArtifactId() {
|
||||
return artifactId;
|
||||
}
|
||||
|
||||
public void setArtifactId(String artifactId) {
|
||||
this.artifactId = artifactId;
|
||||
}
|
||||
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof MavenDependency)) return false;
|
||||
|
||||
MavenDependency that = (MavenDependency) o;
|
||||
|
||||
if (!groupId.equals(that.groupId)) return false;
|
||||
if (!artifactId.equals(that.artifactId)) return false;
|
||||
return version.equals(that.version);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = groupId.hashCode();
|
||||
result = 31 * result + artifactId.hashCode();
|
||||
result = 31 * result + version.hashCode();
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "MavenDependency{" +
|
||||
"groupId='" + groupId + '\'' +
|
||||
", artifactId='" + artifactId + '\'' +
|
||||
", version='" + version + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
@@ -16,72 +16,59 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.alfresco.maven.plugin;
|
||||
package org.alfresco.maven.plugin.config;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
/**
|
||||
* Defines an Alfresco extension module dependency (JAR or AMP) to be
|
||||
* overlayed on an Alfresco webapp file via Maven WAR plugin.
|
||||
* overlayed on an Alfresco webapp file.
|
||||
* <p/>
|
||||
* This is so we can skip the WAR projects in the AIO project,
|
||||
* and so we can include the Share Services AMP when running
|
||||
* with a simple platform JAR.
|
||||
* <p/>
|
||||
* This class is used by the RunMojo class.
|
||||
* <p/>
|
||||
* Alfresco Maven Plugin config looks something like this:
|
||||
* <pre>
|
||||
* {@code
|
||||
* <platformModules>
|
||||
* <moduleDependency>
|
||||
* <groupId>${alfresco.groupId}</groupId>
|
||||
* <artifactId>alfresco-share-services</artifactId>
|
||||
* <version>${alfresco.share.version}</version>
|
||||
* <type>amp</type>
|
||||
* </moduleDependency>
|
||||
* <moduleDependency>
|
||||
* <groupId>${project.groupId}</groupId>
|
||||
* <artifactId>${project.artifactId}</artifactId>
|
||||
* <version>${project.version}</version>
|
||||
* </moduleDependency>
|
||||
* </platformModules>
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author martin.bergljung@alfresco.com
|
||||
* @version 1.0
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public class ModuleDependency {
|
||||
public class ModuleDependency extends MavenDependency {
|
||||
public static final String TYPE_JAR = "jar";
|
||||
public static final String TYPE_AMP = "amp";
|
||||
|
||||
private String groupId;
|
||||
private String artifactId;
|
||||
private String version;
|
||||
private String type = TYPE_JAR;
|
||||
|
||||
public ModuleDependency() {}
|
||||
|
||||
public ModuleDependency(String g, String a, String v) {
|
||||
this.groupId = g;
|
||||
this.artifactId = a;
|
||||
this.version = v;
|
||||
public ModuleDependency() {
|
||||
super();
|
||||
}
|
||||
|
||||
public ModuleDependency(String g, String a, String v, String t) {
|
||||
this.groupId = g;
|
||||
this.artifactId = a;
|
||||
this.version = v;
|
||||
super(g,a,v);
|
||||
|
||||
this.type = t;
|
||||
}
|
||||
|
||||
public String getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
|
||||
public void setGroupId(String groupId) {
|
||||
this.groupId = groupId;
|
||||
}
|
||||
|
||||
public String getArtifactId() {
|
||||
return artifactId;
|
||||
}
|
||||
|
||||
public void setArtifactId(String artifactId) {
|
||||
this.artifactId = artifactId;
|
||||
}
|
||||
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public void setVersion(String version) {
|
||||
this.version = version;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
@@ -102,21 +89,16 @@ public class ModuleDependency {
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (!(o instanceof ModuleDependency)) return false;
|
||||
if (!super.equals(o)) return false;
|
||||
|
||||
ModuleDependency that = (ModuleDependency) o;
|
||||
|
||||
if (!groupId.equals(that.groupId)) return false;
|
||||
if (!artifactId.equals(that.artifactId)) return false;
|
||||
if (!version.equals(that.version)) return false;
|
||||
return !(type != null ? !type.equals(that.type) : that.type != null);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = groupId.hashCode();
|
||||
result = 31 * result + artifactId.hashCode();
|
||||
result = 31 * result + version.hashCode();
|
||||
int result = super.hashCode();
|
||||
result = 31 * result + (type != null ? type.hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
@@ -124,9 +106,9 @@ public class ModuleDependency {
|
||||
@Override
|
||||
public String toString() {
|
||||
return "ModuleDependency{" +
|
||||
"groupId='" + groupId + '\'' +
|
||||
", artifactId='" + artifactId + '\'' +
|
||||
", version='" + version + '\'' +
|
||||
"groupId='" + getGroupId() + '\'' +
|
||||
", artifactId='" + getArtifactId() + '\'' +
|
||||
", version='" + getVersion() + '\'' +
|
||||
", type='" + type + '\'' +
|
||||
'}';
|
||||
}
|
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* Copyright (C) 2016 Alfresco Software Limited.
|
||||
* <p/>
|
||||
* This file is part of the Alfresco SDK Samples project.
|
||||
* <p/>
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* <p/>
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* <p/>
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.alfresco.maven.plugin.config;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
/**
|
||||
* Tomcat Dependency used in Embedded Tomcat Maven plugin configuration.
|
||||
* <p/>
|
||||
* Alfresco Maven Plugin config looks something like this:
|
||||
* <pre>
|
||||
* {@code
|
||||
* <tomcatDependencies>
|
||||
* <tomcatDependency>
|
||||
* <groupId>mysql</groupId>
|
||||
* <artifactId>mysql-connector-java</artifactId>
|
||||
* <version>5.1.32</version>
|
||||
* </tomcatDependency>
|
||||
* <tomcatDependencies>
|
||||
* }
|
||||
* </pre>
|
||||
*
|
||||
* @author martin.bergljung@alfresco.com
|
||||
* @version 1.0
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public class TomcatDependency extends MavenDependency {
|
||||
|
||||
public TomcatDependency() {
|
||||
super();
|
||||
}
|
||||
|
||||
public TomcatDependency(String g, String a, String v) {
|
||||
super(g,a,v);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "TomcatDependency{" +
|
||||
"groupId='" + getGroupId() + '\'' +
|
||||
", artifactId='" + getArtifactId() + '\'' +
|
||||
", version='" + getVersion() + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
82
pom.xml
82
pom.xml
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<name>Alfresco SDK</name>
|
||||
<description>This aggregator Project builds all modules required for the Alfresco SDK</description>
|
||||
<packaging>pom</packaging>
|
||||
@@ -30,7 +30,7 @@
|
||||
<connection>scm:git:${scm.url.base}.git</connection>
|
||||
<developerConnection>scm:git:${scm.url.base}</developerConnection>
|
||||
<url>${scm.url.base}</url>
|
||||
<tag>alfresco-sdk-aggregator-3.0.0-beta-2</tag>
|
||||
<tag>alfresco-sdk-aggregator-3.0.0-beta-4</tag>
|
||||
</scm>
|
||||
|
||||
<developers>
|
||||
@@ -186,7 +186,38 @@
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>central-releases-staging</id>
|
||||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>central-snapshots</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
</snapshotRepository>
|
||||
<site>
|
||||
<id>alfresco-docs</id>
|
||||
<url>dav:${maven.site.url}</url>
|
||||
</site>
|
||||
</distributionManagement>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>internal-release</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>internal.release</name>
|
||||
<value>true</value>
|
||||
</property>
|
||||
</activation>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>alfresco-releases</id>
|
||||
<url>https://artifacts.alfresco.com/nexus/content/repositories/releases/</url>
|
||||
</repository>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>exclude-enterprise-tests-for-archetypes</id>
|
||||
<activation>
|
||||
@@ -212,7 +243,7 @@
|
||||
<alfresco.sdk.tests.exclude />
|
||||
</properties>
|
||||
</profile>
|
||||
|
||||
|
||||
<profile>
|
||||
<id>sdk-release</id>
|
||||
<properties>
|
||||
@@ -224,37 +255,6 @@
|
||||
</properties>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>2.10.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<!-- Add this to build Javadoc with JDK8
|
||||
<additionalparam>-Xdoclint:none</additionalparam>
|
||||
-->
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-gpg-plugin</artifactId>
|
||||
@@ -310,20 +310,6 @@
|
||||
</plugin>
|
||||
</plugins>
|
||||
</reporting>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>central-releases-staging</id>
|
||||
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>central-snapshots</id>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
</snapshotRepository>
|
||||
<site>
|
||||
<id>alfresco-docs</id>
|
||||
<url>dav:${maven.site.url}</url>
|
||||
</site>
|
||||
</distributionManagement>
|
||||
</profile>
|
||||
<!-- Attempt (failed) to retain run.sh permissions. Zip files are bad at this, full stop.
|
||||
<profile>
|
||||
|
@@ -14,12 +14,12 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco.maven</groupId>
|
||||
<artifactId>alfresco-sdk-aggregator</artifactId>
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<!-- This defines the version of the SDK in terms of features -->
|
||||
<version>3.0.0-beta-2</version>
|
||||
<version>3.0.0-beta-4</version>
|
||||
|
||||
|
||||
<properties>
|
||||
@@ -150,7 +150,7 @@
|
||||
- Maven Alfresco plugin that enables Maven to handle AMP files (alfresco-maven-plugin)
|
||||
- Alfresco Rapid Application Development module (alfresco-rad)
|
||||
-->
|
||||
<maven.alfresco.version>3.0.0-beta-2</maven.alfresco.version>
|
||||
<maven.alfresco.version>3.0.0-beta-4</maven.alfresco.version>
|
||||
|
||||
<!-- Setup the default Embedded Tomcat port for use by the tomcat7-maven-plugin so
|
||||
it can be accessed from the Groovy scripts and other places -->
|
||||
|
Reference in New Issue
Block a user