diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
index ff26c4a7..87d50cf5 100644
--- a/archetypes/alfresco-allinone-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -96,6 +96,44 @@
+
+
+
+
+ src/main/java
+
+ **/*.java
+
+
+
+ src/test/java
+
+ **/*.java
+
+
+
+ src/test/resources
+
+ **/dev-log4j.properties
+
+
+
+ src/test/resources
+
+ **
+
+
+ **/dev-log4j.properties
+
+
+
+ src/test/properties
+
+ **/*.properties
+
+
+
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/pom.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/pom.xml
new file mode 100644
index 00000000..36223d7f
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/pom.xml
@@ -0,0 +1,119 @@
+
+
+ 4.0.0
+ ${artifactId}
+ Integration Tests Module
+ Integration Tests module for in-container integration testing - part of AIO - SDK 3
+ jar
+
+
+ ${groupId}
+ ${rootArtifactId}
+ ${version}
+
+
+
+
+
+
+
+
+ ${groupId}
+ ${rootArtifactId}-platform-jar
+ ${version}
+ test
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.0.1
+ false
+
+
+
+ copy-and-filter-test-resources
+ validate
+
+ copy-resources
+
+
+ ${project.build.testOutputDirectory}
+
+
+ src/test/resources
+ true
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+ 2.19.1
+
+
+ integration-test
+ integration-test
+
+ integration-test
+
+
+
+ verify-test
+ verify
+
+ verify
+
+
+
+
+
+ org.apache.maven.surefire
+ surefire-junit47
+ 2.19.1
+
+
+
+
+
+
+ org.alfresco.maven.plugin
+ alfresco-maven-plugin
+ ${alfresco.sdk.version}
+
+
+ start-alfresco
+
+ it
+
+ pre-integration-test
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-jar/src/test/java/platformsample/CustomContentModelIT.java b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/java/platformsample/CustomContentModelIT.java
similarity index 100%
rename from archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-jar/src/test/java/platformsample/CustomContentModelIT.java
rename to archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/java/platformsample/CustomContentModelIT.java
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-jar/src/test/java/platformsample/DemoComponentIT.java b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/java/platformsample/DemoComponentIT.java
similarity index 100%
rename from archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-jar/src/test/java/platformsample/DemoComponentIT.java
rename to archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/java/platformsample/DemoComponentIT.java
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-jar/src/test/java/platformsample/HelloWorldWebScriptIT.java b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/java/platformsample/HelloWorldWebScriptIT.java
similarity index 100%
rename from archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/__rootArtifactId__-platform-jar/src/test/java/platformsample/HelloWorldWebScriptIT.java
rename to archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/java/platformsample/HelloWorldWebScriptIT.java
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-enterprise.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-enterprise.properties
new file mode 100644
index 00000000..37f66eef
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-enterprise.properties
@@ -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
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-h2.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-h2.properties
new file mode 100644
index 00000000..235d86b2
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-h2.properties
@@ -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
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-mysql.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-mysql.properties
new file mode 100644
index 00000000..1d0d739a
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-mysql.properties
@@ -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
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-postgresql.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-postgresql.properties
new file mode 100644
index 00000000..610ae967
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/properties/local/alfresco-global-postgresql.properties
@@ -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 PostgreSQL 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 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
+
+# File servers related properties
+# For local runs we disable CIFS and FTP
+cifs.enabled=false
+ftp.enabled=false
\ No newline at end of file
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/alfresco/extension/dev-log4j.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/alfresco/extension/dev-log4j.properties
new file mode 100644
index 00000000..0512bec3
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/alfresco/extension/dev-log4j.properties
@@ -0,0 +1,263 @@
+# Set root logger level to error
+log4j.rootLogger=error, Console, File
+
+
+# All outputs currently set to be a ConsoleAppender.
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+
+# use log4j NDC to replace %x with tenant domain / username
+log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
+#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
+
+log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.File.File=alfresco.log
+log4j.appender.File.Append=true
+log4j.appender.File.DatePattern='.'yyyy-MM-dd
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
+
+#log4j.appender.file=org.apache.log4j.FileAppender
+#log4j.appender.file.File=hibernate.log
+#log4j.appender.file.layout=org.apache.log4j.PatternLayout
+#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+
+
+# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
+# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
+# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
+# Log4j addLoggerMBean as long as the logger exists and has been loaded.
+
+# Hibernate
+log4j.logger.org.hibernate=error
+log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
+log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
+log4j.logger.org.hibernate.type=warn
+log4j.logger.org.hibernate.cfg.SettingsFactory=warn
+
+# Spring
+log4j.logger.org.springframework=warn
+# Turn off Spring remoting warnings that should really be info or debug.
+log4j.logger.org.springframework.remoting.support=error
+log4j.logger.org.springframework.util=error
+
+# Axis/WSS4J
+log4j.logger.org.apache.axis=info
+log4j.logger.org.apache.ws=info
+
+# CXF
+log4j.logger.org.apache.cxf=error
+
+# MyFaces
+log4j.logger.org.apache.myfaces.util.DebugUtils=info
+log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
+log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
+log4j.logger.org.apache.myfaces.taglib=error
+
+# OpenOfficeConnection
+log4j.logger.net.sf.jooreports.openoffice.connection=fatal
+
+# log prepared statement cache activity log4j.logger.org.hibernate.ps.PreparedStatementCache=info
+
+# Alfresco
+log4j.logger.org.alfresco=error
+log4j.logger.org.alfresco.repo.admin=info
+log4j.logger.org.alfresco.repo.transaction=warn
+log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
+log4j.logger.org.alfresco.repo.model.filefolder=warn
+log4j.logger.org.alfresco.repo.tenant=info
+log4j.logger.org.alfresco.config=warn
+log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
+log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
+log4j.logger.org.alfresco.repo.management.subsystems=warn
+log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
+log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
+log4j.logger.org.alfresco.repo.security.sync=info
+log4j.logger.org.alfresco.repo.security.person=info
+
+log4j.logger.org.alfresco.sample=info
+log4j.logger.org.alfresco.web=info
+#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
+#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
+#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
+#log4j.logger.org.alfresco.web.bean.clipboard=debug
+log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
+#log4j.logger.org.alfresco.web.page=debug
+
+log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
+#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
+
+log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
+log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
+
+# Specific patches
+log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
+log4j.logger.org.alfresco.repo.version.VersionMigrator=info
+
+log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
+log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
+log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
+log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
+log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
+log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
+log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
+log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
+log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
+log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
+log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
+log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
+log4j.logger.org.alfresco.enterprise.repo.cluster=info
+log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
+
+#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
+log4j.logger.org.alfresco.repo.node.db.NodeStringLengthWorker=info
+
+log4j.logger.org.alfresco.repo.workflow=info
+
+# CIFS server debugging
+log4j.logger.org.alfresco.smb.protocol=error
+#log4j.logger.org.alfresco.smb.protocol.auth=debug
+#log4j.logger.org.alfresco.acegi=debug
+
+# FTP server debugging
+log4j.logger.org.alfresco.ftp.protocol=error
+#log4j.logger.org.alfresco.ftp.server=debug
+
+# WebDAV debugging
+#log4j.logger.org.alfresco.webdav.protocol=debug
+log4j.logger.org.alfresco.webdav.protocol=info
+
+# NTLM servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
+
+# Kerberos servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
+
+# File servers
+log4j.logger.org.alfresco.fileserver=warn
+
+# Repo filesystem debug logging
+#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
+
+# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
+log4j.logger.org.alfresco.repo.node.integrity=ERROR
+
+# Indexer debugging
+log4j.logger.org.alfresco.repo.search.Indexer=error
+#log4j.logger.org.alfresco.repo.search.Indexer=debug
+
+log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
+log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
+#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
+
+# Audit debugging
+# log4j.logger.org.alfresco.repo.audit=DEBUG
+# log4j.logger.org.alfresco.repo.audit.model=DEBUG
+
+# Property sheet and modelling debugging
+# change to error to hide the warnings about missing properties and associations
+log4j.logger.alfresco.missingProperties=warn
+
+# Dictionary/Model debugging
+log4j.logger.org.alfresco.repo.dictionary=warn
+log4j.logger.org.alfresco.repo.dictionary.types.period=warn
+
+# Virtualization Server Registry
+log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
+
+# Spring context runtime property setter
+log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
+
+# Debugging options for clustering
+log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
+log4j.logger.org.alfresco.repo.content.replication=error
+
+#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
+
+# Activity service
+log4j.logger.org.alfresco.repo.activities=warn
+
+# User usage tracking
+log4j.logger.org.alfresco.repo.usage=info
+
+# Sharepoint
+log4j.logger.org.alfresco.module.vti=info
+
+# Forms Engine
+log4j.logger.org.alfresco.web.config.forms=info
+log4j.logger.org.alfresco.web.scripts.forms=info
+
+# CMIS
+log4j.logger.org.alfresco.opencmis=error
+log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
+log4j.logger.org.alfresco.cmis=error
+log4j.logger.org.alfresco.cmis.dictionary=warn
+log4j.logger.org.apache.chemistry.opencmis=info
+log4j.logger.org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet=OFF
+log4j.logger.org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet=OFF
+
+# IMAP
+log4j.logger.org.alfresco.repo.imap=info
+
+# JBPM
+# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
+log4j.logger.org.jbpm.graph.def.GraphElement=fatal
+
+#log4j.logger.org.alfresco.repo.googledocs=debug
+
+
+# Web Framework
+log4j.logger.org.springframework.extensions.webscripts=info
+log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
+log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
+
+# Repository
+log4j.logger.org.alfresco.repo.web.scripts=warn
+log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
+log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
+log4j.logger.org.alfresco.repo.jscript=error
+log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
+log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
+
+log4j.logger.org.alfresco.repo.domain.schema.script.ScriptBundleExecutorImpl=off
+log4j.logger.org.alfresco.repo.domain.schema.script.ScriptExecutorImpl=info
+
+log4j.logger.org.alfresco.repo.search.impl.solr.facet.SolrFacetServiceImpl=info
+
+# Bulk Filesystem Import Tool
+log4j.logger.org.alfresco.repo.bulkimport=warn
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+log4j.logger.freemarker.runtime=
+
+# Metadata extraction
+log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
+
+# Reduces PDFont error level due to ALF-7105
+log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
+log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
+log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
+
+# no index support
+log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
+log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
+
+# lucene index warnings
+log4j.logger.org.alfresco.repo.search.impl.lucene.index.IndexInfo=warn
+
+# Warn about RMI socket bind retries.
+log4j.logger.org.alfresco.util.remote.server.socket.HostConfigurableSocketFactory=warn
+
+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
+
+
+
+
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml
new file mode 100644
index 00000000..07829ea1
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+ javascript
+
+
+ js
+
+
+
+ false
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+ ${spaces.store}
+
+
+ ${spaces.company_home.childname}
+
+
+
+
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/share/log4j.properties b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/share/log4j.properties
new file mode 100644
index 00000000..aa7a414c
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/share/log4j.properties
@@ -0,0 +1,54 @@
+# Set root logger level to error
+log4j.rootLogger=error, Console, File
+
+###### Console appender definition #######
+
+# All outputs currently set to be a ConsoleAppender.
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+
+# use log4j NDC to replace %x with tenant domain / username
+log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
+#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
+
+###### File appender definition #######
+log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.File.File=share.log
+log4j.appender.File.Append=true
+log4j.appender.File.DatePattern='.'yyyy-MM-dd
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d{yyyy-MM-dd} %d{ABSOLUTE} %-5p [%c] [%t] %m%n
+
+# Spring
+log4j.logger.org.springframework=warn
+# Turn off Spring remoting warnings that should really be info or debug.
+log4j.logger.org.springframework.remoting.support=error
+log4j.logger.org.springframework.util=error
+
+# MyFaces
+log4j.logger.org.apache.myfaces.util.DebugUtils=info
+log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
+log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
+log4j.logger.org.apache.myfaces.taglib=error
+
+# Alfresco
+log4j.logger.org.alfresco=error
+log4j.logger.org.alfresco.config=warn
+log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
+log4j.logger.org.alfresco.web=info
+
+# Web Framework
+log4j.logger.org.springframework.extensions.webscripts=info
+log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
+log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+log4j.logger.freemarker.runtime=
+
+#-----------------------------------------------------------------------
+# Custom Share module logging goes here...
+#-----------------------------------------------------------------------
+
+
+
diff --git a/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/tomcat/context-solr.xml b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/tomcat/context-solr.xml
new file mode 100644
index 00000000..ccc18425
--- /dev/null
+++ b/archetypes/alfresco-allinone-archetype/src/main/resources/archetype-resources/integration-tests/src/test/resources/tomcat/context-solr.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/IntegrationTestMojo.java b/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/IntegrationTestMojo.java
index 4485c075..45d75d74 100644
--- a/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/IntegrationTestMojo.java
+++ b/plugins/alfresco-maven-plugin/src/main/java/org/alfresco/maven/plugin/IntegrationTestMojo.java
@@ -47,7 +47,7 @@ import static org.twdata.maven.mojoexecutor.MojoExecutor.*;
* @since 3.0
*/
@Mojo(name = "it",
- defaultPhase = LifecyclePhase.INTEGRATION_TEST,
+ defaultPhase = LifecyclePhase.PRE_INTEGRATION_TEST,
aggregator = true, // Only run against the top-level project in a Maven build
requiresDependencyResolution = ResolutionScope.TEST)
public class IntegrationTestMojo extends AbstractRunMojo {
@@ -85,14 +85,14 @@ public class IntegrationTestMojo extends AbstractRunMojo {
// Create a JAR with all tests and add to module dependencies for platform WAR
// So we can run tests on the server
- copyTestClassesFromSubModules2Parent();
- testJarArtifactId = packageAndInstallTestsJar();
- platformModules.add(
- new ModuleDependency(
- project.getGroupId(),
- testJarArtifactId,
- project.getVersion(),
- ModuleDependency.TYPE_JAR));
+ // TODO: remove different approach at the moment with separate integration-tests module copyTestClassesFromSubModules2Parent();
+ // TODO: remove testJarArtifactId = packageAndInstallTestsJar();
+ // TODO: remove platformModules.add(
+ // TODO: new ModuleDependency(
+ // TODO: project.getGroupId(),
+ // TODO: testJarArtifactId,
+ // TODO: project.getVersion(),
+ // TODO: ModuleDependency.TYPE_JAR));
// Now build the platform WAR
buildPlatformWar();
}
@@ -108,8 +108,8 @@ public class IntegrationTestMojo extends AbstractRunMojo {
if (startTomcat) {
boolean fork = true;
startTomcat(fork);
- runIntegrationTests(testJarArtifactId);
- stopTomcat();
+ // TODO: remove different approach at the moment with separate integration-tests module runIntegrationTests(testJarArtifactId);
+ // TODO: remove stopTomcat();
}
}