diff --git a/archetypes/share-amp-archetype/pom.xml b/archetypes/share-amp-archetype/pom.xml
new file mode 100644
index 00000000..76fcb564
--- /dev/null
+++ b/archetypes/share-amp-archetype/pom.xml
@@ -0,0 +1,50 @@
+
+
+ 4.0.0
+
+ org.alfresco.maven.archetype
+ share-amp-archetype
+
+ maven-archetype
+ Share AMP Archetype from Maven Alfresco SDK
+ Share project with full support for lifecycle and rapid development of AMPs (Alfresco Module Packages)
+
+
+ org.alfresco.maven
+ alfresco-lifecycle-aggregator
+ 1.1.2-SNAPSHOT
+ ../../pom.xml
+
+
+
+
+
+ src/main/resources
+
+ archetype-resources/pom.xml
+
+ true
+
+
+ src/main/resources
+
+ archetype-resources/pom.xml
+
+ false
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+ false
+
+ @@
+
+
+
+
+
+
+
diff --git a/archetypes/share-amp-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml b/archetypes/share-amp-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
new file mode 100644
index 00000000..2cd18867
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -0,0 +1,90 @@
+
+
+
+
+ 1.0-SNAPSHOT
+
+
+ org.alfresco
+
+
+ 5.0.a-SNAPSHOT
+
+
+ share
+
+
+ org.alfresco
+
+
+ 5.0.a-SNAPSHOT
+
+
+ (not used)
+
+
+
+
+ src/main/java
+
+ **/*.java
+
+
+
+ src/main/amp
+
+ **/*.jsp
+ **/*.xml
+ **/*.properties
+ **/*.txt
+
+
+
+ src/main/resources
+
+ **/*.xml
+
+
+
+ src/main/amp
+
+ **/*.js
+ **/*.css
+
+
+
+ src/main/amp/config/alfresco/module/__artifactId__
+
+
+
+ src/main/amp/web
+
+
+
+ src/test/java
+
+ **/*.java
+
+
+
+ src/test/resources
+
+ **/*.properties
+
+
+
+ src/test/properties
+
+ **/*
+
+
+
+ tomcat
+
+ **/*.xml
+
+
+
+
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml
new file mode 100644
index 00000000..044e0649
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/pom.xml
@@ -0,0 +1,109 @@
+
+
+ 4.0.0
+ ${groupId}
+ ${artifactId}
+ ${version}
+ ${artifactId} AMP project
+ amp
+ Manages the lifecycle of the ${artifactId} AMP (Alfresco Module Package)
+
+
+ org.alfresco.maven
+ alfresco-sdk-parent
+ @@alfresco.sdk.parent.version@@
+
+
+
+
+
+ ${alfresco_target_groupId}
+
+ ${alfresco_target_version}
+ WARN
+ alf_data_dev
+
+ ${alfresco_target_amp_client_war}
+
+ ${alfresco_target_amp_client_war_groupId}
+
+ ${alfresco_target_amp_client_war_version}
+
+ local
+
+
+ 8081
+
+
+
+
+
+
+
+ ${alfresco.groupId}
+ alfresco-platform-distribution
+ ${alfresco.version}
+ pom
+ import
+
+
+
+
+
+
+ ${alfresco.groupId}
+ alfresco-repository
+
+
+
+ org.springframework.extensions.surf
+ spring-surf-api
+ 1.2.1-M16
+ provided
+
+
+
+
+ junit
+ junit
+ 4.8.1
+ test
+
+
+
+
+
+
+ alfresco-public
+ https://artifacts.alfresco.com/nexus/content/groups/public
+
+
+ alfresco-public-snapshots
+ https://artifacts.alfresco.com/nexus/content/groups/public-snapshots
+
+ true
+ daily
+
+
+
+
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/file-mapping.properties b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/file-mapping.properties
new file mode 100644
index 00000000..45cccaf5
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/file-mapping.properties
@@ -0,0 +1,14 @@
+# Custom AMP to WAR location mappings
+
+#
+# The following property can be used to include the standard set of mappings.
+# The contents of this file will override any defaults. The default is
+# 'true', i.e. the default mappings will be augmented or modified by values in
+# this file.
+#
+include.default=true
+
+#
+# Custom mappings. If 'include.default' is false, then this is the complete set.
+#
+/web=/
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/log4j.properties b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/log4j.properties
new file mode 100644
index 00000000..ed9f5135
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/log4j.properties
@@ -0,0 +1,3 @@
+# Define here logging properties for your AMP specific classes
+# This will end up in alfresco.war/WEB-INF/classes/alfresco/module/log4j.properties
+# and loaded as per http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#log4j.properties
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/module.properties b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/module.properties
new file mode 100644
index 00000000..0e5c045a
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/amp/module.properties
@@ -0,0 +1,48 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+
+# SDK Sample module
+
+# ==== Beginning of Alfresco required/optional properties ====== #
+# NB: These properties are filtered at build time by Maven, single
+# sourcing from POM properties
+module.id=${project.artifactId}
+#module.aliases=myModule-123, my-module
+module.title=${project.name}
+module.description=${project.description}
+module.version=${noSnapshotVersion}
+
+# The following optional properties can be used to prevent the module from being added
+# to inappropriate versions of the WAR file.
+# module.repo.version.min=2.0
+# module.repo.version.max=2.1
+
+# FIXME: This dependencies should come out of mvn dependencies on amp
+
+# The following describe dependencies on other modules
+# Depends on net.sf.myproject.module.SupportModuleA version ${version} or later
+# module.depends.net.sf.myproject.module.SupportModuleA=${version}-*
+# Depends on net.sf.myproject.module.SupportModuleA version ${version} to 2.0
+# module.depends.net.sf.myproject.module.SupportModuleB=${version}-2.0
+# Depends on net.sf.myproject.module.SupportModuleC - any version
+# module.depends.net.sf.myproject.module.SupportModuleB=*
+
+
+# ==== End of Alfresco required/optional properties ======= #
+
+
+# ==== Beginning of module required properties/optional ====== #
\ No newline at end of file
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/resources/META-INF/share-config-custom.xml.sample b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/resources/META-INF/share-config-custom.xml.sample
new file mode 100644
index 00000000..7a292745
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/main/resources/META-INF/share-config-custom.xml.sample
@@ -0,0 +1,422 @@
+
+
+
+
+
+
+ false
+
+
+ false
+
+
+
+
+
+
+
+
+
+ production
+
+
+
+
+ manual
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ 1000
+
+
+ 7000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http://localhost:8080/alfresco
+
+
+
+
+ false
+
+
+
+ application/msword
+ application/vnd.ms-excel
+ application/vnd.ms-powerpoint
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ location.path.documents
+
+ slingshot/doclib/treenode/site/{site}/{container}{path}?children={evaluateChildFoldersSite}&max={maximumFolderCountSite}
+
+
+
+
+
+
+
+ alfresco://company/home
+
+
+
+ false
+
+
+ 500
+
+
+
+ true
+
+
+
+
+
+
+
+ secret
+
+ ALFRESCO.ORG
+
+ HTTP/repository.server.com@ALFRESCO.ORG
+
+ ShareHTTP
+
+
+
+
+
+
+
+
+
+ alfresco-noauth
+ Alfresco - unauthenticated access
+ Access to Alfresco Repository WebScripts that do not require authentication
+ alfresco
+ http://localhost:8080/alfresco/s
+ none
+
+
+
+ alfresco
+ Alfresco - user access
+ Access to Alfresco Repository WebScripts that require user authentication
+ alfresco
+ http://localhost:8080/alfresco/s
+ user
+
+
+
+ alfresco-feed
+ Alfresco Feed
+ Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet
+ http
+ http://localhost:8080/alfresco/s
+ true
+ user
+
+
+
+ activiti-admin
+ Activiti Admin UI - user access
+ Access to Activiti Admin UI, that requires user authentication
+ activiti-admin-connector
+ http://localhost:8080/alfresco/activiti-admin
+ user
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/test/resources/log4j.properties b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/test/resources/log4j.properties
new file mode 100644
index 00000000..bf4a4721
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/src/test/resources/log4j.properties
@@ -0,0 +1,266 @@
+# This is a full override of Alfresco 4.2.b log4j.properties
+# This file overwrites the alfresco.war log4j.properties
+
+# Set root logger level to error
+log4j.rootLogger=${app.log.root.level}, Console, File
+
+###### Console appender definition #######
+
+# All outputs currently set to be a ConsoleAppender.
+log4j.appender.Console=org.apache.log4j.ConsoleAppender
+log4j.appender.Console.layout=org.apache.log4j.PatternLayout
+
+# use log4j NDC to replace %x with tenant domain / username
+log4j.appender.Console.layout.ConversionPattern=%d{ISO8601} %x %-5p [%c{3}] [%t] %m%n
+#log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
+
+###### File appender definition #######
+log4j.appender.File=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.File.File=${app.log.dir}alfresco.log
+log4j.appender.File.Append=true
+log4j.appender.File.DatePattern='.'yyyy-MM-dd
+log4j.appender.File.layout=org.apache.log4j.PatternLayout
+log4j.appender.File.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c] %m%n
+
+###### Hibernate specific appender definition #######
+#log4j.appender.file=org.apache.log4j.FileAppender
+#log4j.appender.file.File=hibernate.log
+#log4j.appender.file.layout=org.apache.log4j.PatternLayout
+#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
+
+###### Log level overrides #######
+
+# Commented-in loggers will be exposed as JMX MBeans (refer to org.alfresco.repo.admin.Log4JHierarchyInit)
+# Hence, generally useful loggers should be listed with at least ERROR level to allow simple runtime
+# control of the level via a suitable JMX Console. Also, any other loggers can be added transiently via
+# Log4j addLoggerMBean as long as the logger exists and has been loaded.
+
+# Hibernate
+log4j.logger.org.hibernate=error
+log4j.logger.org.hibernate.util.JDBCExceptionReporter=fatal
+log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=fatal
+log4j.logger.org.hibernate.type=warn
+log4j.logger.org.hibernate.cfg.SettingsFactory=warn
+
+# Spring
+log4j.logger.org.springframework=warn
+# Turn off Spring remoting warnings that should really be info or debug.
+log4j.logger.org.springframework.remoting.support=error
+log4j.logger.org.springframework.util=error
+
+# Axis/WSS4J
+log4j.logger.org.apache.axis=info
+log4j.logger.org.apache.ws=info
+
+# CXF
+log4j.logger.org.apache.cxf=error
+
+# MyFaces
+log4j.logger.org.apache.myfaces.util.DebugUtils=info
+log4j.logger.org.apache.myfaces.el.VariableResolverImpl=error
+log4j.logger.org.apache.myfaces.application.jsp.JspViewHandlerImpl=error
+log4j.logger.org.apache.myfaces.taglib=error
+
+# OpenOfficeConnection
+log4j.logger.net.sf.jooreports.openoffice.connection=fatal
+
+# log prepared statement cache activity ###
+log4j.logger.org.hibernate.ps.PreparedStatementCache=info
+
+# Alfresco
+log4j.logger.org.alfresco=error
+log4j.logger.org.alfresco.repo.admin=info
+log4j.logger.org.alfresco.repo.cache.TransactionalCache=warn
+log4j.logger.org.alfresco.repo.model.filefolder=warn
+log4j.logger.org.alfresco.repo.tenant=info
+log4j.logger.org.alfresco.repo.avm=info
+log4j.logger.org.alfresco.config=warn
+log4j.logger.org.alfresco.config.JndiObjectFactoryBean=warn
+log4j.logger.org.alfresco.config.JBossEnabledWebApplicationContext=warn
+log4j.logger.org.alfresco.repo.management.subsystems=warn
+log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory=info
+log4j.logger.org.alfresco.repo.management.subsystems.ChildApplicationContextFactory$ChildApplicationContext=warn
+log4j.logger.org.alfresco.repo.security.sync=info
+log4j.logger.org.alfresco.repo.security.person=info
+
+log4j.logger.org.alfresco.sample=info
+log4j.logger.org.alfresco.web=info
+#log4j.logger.org.alfresco.web.app.AlfrescoNavigationHandler=debug
+#log4j.logger.org.alfresco.web.ui.repo.component.UIActions=debug
+#log4j.logger.org.alfresco.web.ui.repo.tag.PageTag=debug
+#log4j.logger.org.alfresco.web.bean.clipboard=debug
+log4j.logger.org.alfresco.repo.webservice=info
+log4j.logger.org.alfresco.service.descriptor.DescriptorService=info
+#log4j.logger.org.alfresco.web.page=debug
+
+log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=error
+#log4j.logger.org.alfresco.repo.importer.ImporterBootstrap=info
+
+log4j.logger.org.alfresco.web.ui.common.Utils=error
+#log4j.logger.org.alfresco.web.ui.common.Utils=info
+
+log4j.logger.org.alfresco.repo.admin.patch.PatchExecuter=info
+log4j.logger.org.alfresco.repo.domain.patch.ibatis.PatchDAOImpl=info
+
+# Specific patches
+log4j.logger.org.alfresco.repo.admin.patch.impl.DeploymentMigrationPatch=info
+log4j.logger.org.alfresco.repo.version.VersionMigrator=info
+log4j.logger.org.alfresco.repo.admin.patch.impl.ResetWCMToGroupBasedPermissionsPatch=info
+
+log4j.logger.org.alfresco.repo.module.ModuleServiceImpl=info
+log4j.logger.org.alfresco.repo.domain.schema.SchemaBootstrap=info
+log4j.logger.org.alfresco.repo.admin.ConfigurationChecker=info
+log4j.logger.org.alfresco.repo.node.index.AbstractReindexComponent=warn
+log4j.logger.org.alfresco.repo.node.index.IndexTransactionTracker=warn
+log4j.logger.org.alfresco.repo.node.index.FullIndexRecoveryComponent=info
+log4j.logger.org.alfresco.repo.node.index.AVMFullIndexRecoveryComponent=info
+log4j.logger.org.alfresco.util.OpenOfficeConnectionTester=info
+log4j.logger.org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl=warn
+log4j.logger.org.alfresco.repo.domain.hibernate.DirtySessionMethodInterceptor=warn
+log4j.logger.org.alfresco.repo.transaction.RetryingTransactionHelper=warn
+log4j.logger.org.alfresco.util.transaction.SpringAwareUserTransaction.trace=warn
+log4j.logger.org.alfresco.util.AbstractTriggerBean=warn
+log4j.logger.org.alfresco.enterprise.repo.cache.cluster.KeepAliveHeartbeatReceiver=info
+log4j.logger.org.alfresco.repo.version.Version2ServiceImpl=warn
+
+#log4j.logger.org.alfresco.web.app.DebugPhaseListener=debug
+
+log4j.logger.org.alfresco.repo.workflow=info
+
+# CIFS server debugging
+log4j.logger.org.alfresco.smb.protocol=error
+#log4j.logger.org.alfresco.smb.protocol.auth=debug
+#log4j.logger.org.alfresco.acegi=debug
+
+# FTP server debugging
+log4j.logger.org.alfresco.ftp.protocol=error
+#log4j.logger.org.alfresco.ftp.server=debug
+
+# WebDAV debugging
+#log4j.logger.org.alfresco.webdav.protocol=debug
+log4j.logger.org.alfresco.webdav.protocol=error
+
+# NTLM servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
+
+# Kerberos servlet filters
+#log4j.logger.org.alfresco.web.app.servlet.KerberosAuthenticationFilter=debug
+#log4j.logger.org.alfresco.repo.webdav.auth.KerberosAuthenticationFilter=debug
+
+# File servers
+log4j.logger.org.alfresco.fileserver=warn
+
+# Repo filesystem debug logging
+#log4j.logger.org.alfresco.filesys.repo.ContentDiskDriver=debug
+
+# AVM filesystem debug logging
+#log4j.logger.org.alfresco.filesys.avm.AVMDiskDriver=debug
+
+# Integrity message threshold - if 'failOnViolation' is off, then WARNINGS are generated
+log4j.logger.org.alfresco.repo.node.integrity=ERROR
+
+# Indexer debugging
+log4j.logger.org.alfresco.repo.search.Indexer=error
+#log4j.logger.org.alfresco.repo.search.Indexer=debug
+
+log4j.logger.org.alfresco.repo.search.impl.lucene.index=error
+log4j.logger.org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl=warn
+#log4j.logger.org.alfresco.repo.search.impl.lucene.index=DEBUG
+
+# Audit debugging
+# log4j.logger.org.alfresco.repo.audit=DEBUG
+# log4j.logger.org.alfresco.repo.audit.model=DEBUG
+
+# Forms debugging
+# log4j.logger.org.alfresco.web.forms=debug
+# log4j.logger.org.chiba.xml.xforms=debug
+log4j.logger.org.alfresco.web.forms.xforms.XFormsBean=error
+log4j.logger.org.alfresco.web.forms.XSLTRenderingEngine=error
+
+# Property sheet and modelling debugging
+# change to error to hide the warnings about missing properties and associations
+log4j.logger.alfresco.missingProperties=warn
+log4j.logger.org.alfresco.web.ui.repo.component.property.UIChildAssociation=warn
+log4j.logger.org.alfresco.web.ui.repo.component.property.UIAssociation=warn
+#log4j.logger.org.alfresco.web.ui.repo.component.property=debug
+
+# Dictionary/Model debugging
+log4j.logger.org.alfresco.repo.dictionary=warn
+log4j.logger.org.alfresco.repo.dictionary.types.period=warn
+
+# Virtualization Server Registry
+log4j.logger.org.alfresco.mbeans.VirtServerRegistry=error
+
+# Spring context runtime property setter
+log4j.logger.org.alfresco.util.RuntimeSystemPropertiesSetter=info
+
+# Debugging options for clustering
+log4j.logger.org.alfresco.repo.content.ReplicatingContentStore=error
+log4j.logger.org.alfresco.repo.content.replication=error
+
+#log4j.logger.org.alfresco.repo.deploy.DeploymentServiceImpl=debug
+
+# Activity service
+log4j.logger.org.alfresco.repo.activities=warn
+
+# User usage tracking
+log4j.logger.org.alfresco.repo.usage=info
+
+# Sharepoint
+log4j.logger.org.alfresco.module.vti=info
+
+# Forms Engine
+log4j.logger.org.alfresco.repo.forms=info
+log4j.logger.org.alfresco.web.config.forms=info
+log4j.logger.org.alfresco.web.scripts.forms=info
+
+# CMIS
+log4j.logger.org.alfresco.opencmis=error
+log4j.logger.org.alfresco.opencmis.AlfrescoCmisServiceInterceptor=error
+log4j.logger.org.alfresco.cmis=error
+log4j.logger.org.alfresco.cmis.dictionary=warn
+log4j.logger.org.apache.chemistry.opencmis=info
+
+# IMAP
+log4j.logger.org.alfresco.repo.imap=info
+
+# JBPM
+# Note: non-fatal errors (eg. logged during job execution) should be handled by Alfresco's retrying transaction handler
+log4j.logger.org.jbpm.graph.def.GraphElement=fatal
+
+#log4j.logger.org.alfresco.repo.googledocs=debug
+
+###### Scripting #######
+
+# Web Framework
+log4j.logger.org.springframework.extensions.webscripts=info
+log4j.logger.org.springframework.extensions.webscripts.ScriptLogger=warn
+log4j.logger.org.springframework.extensions.webscripts.ScriptDebugger=off
+
+# Repository
+log4j.logger.org.alfresco.repo.web.scripts=warn
+log4j.logger.org.alfresco.repo.web.scripts.BaseWebScriptTest=info
+log4j.logger.org.alfresco.repo.web.scripts.AlfrescoRhinoScriptDebugger=off
+log4j.logger.org.alfresco.repo.jscript=error
+log4j.logger.org.alfresco.repo.jscript.ScriptLogger=warn
+log4j.logger.org.alfresco.repo.cmis.rest.CMISTest=info
+
+log4j.logger.org.alfresco.repo.avm.actions=info
+
+# Freemarker
+# Note the freemarker.runtime logger is used to log non-fatal errors that are handled by Alfresco's retrying transaction handler
+log4j.logger.freemarker.runtime=
+
+# Metadata extraction
+log4j.logger.org.alfresco.repo.content.metadata.AbstractMappingMetadataExtracter=warn
+
+# Reduces PDFont error level due to ALF-7105
+log4j.logger.org.apache.pdfbox.pdmodel.font.PDSimpleFont=fatal
+log4j.logger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
+log4j.logger.org.apache.pdfbox.pdmodel.font.PDCIDFont=fatal
+
+# no index support
+log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexIndexer=fatal
+log4j.logger.org.alfresco.repo.search.impl.noindex.NoIndexSearchService=fatal
+log4j.logger.org.alfresco.demoamp.test=DEBUG
\ No newline at end of file
diff --git a/archetypes/share-amp-archetype/src/main/resources/archetype-resources/tomcat/context.xml b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/tomcat/context.xml
new file mode 100644
index 00000000..bc392e06
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/main/resources/archetype-resources/tomcat/context.xml
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/archetypes/share-amp-archetype/src/site/apt/advanced-usage.apt.vm b/archetypes/share-amp-archetype/src/site/apt/advanced-usage.apt.vm
new file mode 100644
index 00000000..da021400
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/site/apt/advanced-usage.apt.vm
@@ -0,0 +1,61 @@
+ ------
+ Alfresco Maven AMP Archetype Advanced Usage
+ ------
+ Gabriele Columbro
+ ------
+ Nov 2012
+ ------
+
+AMP Unit Testing
+
+ Unit test your AMP customization is as easy as adding your tests in <<>>. The current module in development
+ will be added to the test classpath together with all necessary Alfresco Spring contexts.
+
+ Running <<>> will results in your unit tests to be run. You can skip this (<<>>)
+ adding <<<-DskipTests>>> to your command line.
+
+AMP Archetype properties
+
+ In the AMP archetype (as in the whole Part of the Maven Alfresco SDK\x99) properties are configurable at many levels:
+
+ * as POM properties
+
+ * direclty in *.properties, particularly
+
+ * <<>> (filtered and packaged in the AMP)
+
+ * <</alfresco-global.properties>>> (environment dependent properties for WAR run embedded)
+
+* Common properties
+
+ Archetype behavior can mostly be controlled directly in the POM, via common properties provided by the parent POM.
+ See {{{../../poms/alfresco-sdk-parent/sdk-properties.html} SDK properties reference}} for details.
+
+
+* AMP specific properties
+
+ In addition to the common properties, the following properties are specific of the AMP archetype:
+
++---+
+
+ ...
+
+
+ alfresco
+ ${alfresco.groupId}
+ ${alfresco.version}
+
+ ...
+
++---+
+
+Parent POM and behavior customization
+
+ To customize the behavior of your project, check out full set of the properties and plugin configurations defined in the
+ {{{../../poms/alfresco-sdk-parent/index.html}single entry point parent POM}}.
+
+ One quick way to do that is to use the <<>> to analyze your POM at runtime.
+
\ No newline at end of file
diff --git a/archetypes/share-amp-archetype/src/site/apt/index.apt.vm b/archetypes/share-amp-archetype/src/site/apt/index.apt.vm
new file mode 100644
index 00000000..5490aee3
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/site/apt/index.apt.vm
@@ -0,0 +1,51 @@
+ ------
+ Building AMPs (Alfresco Module Packages) with Maven
+ ------
+ Gabriele Columbro
+ ------
+ Nov 2012
+ ------
+
+Introduction
+
+ The Alfresco AMP Archetype is a sample fully featured project to manage AMP (Alfresco Module Package) projects.
+ This archetype can be used both for Alfresco Repository and Alfresco Share AMPs.
+
+* Features
+
+ Amongst other features, this archetype provides support for:
+
+ * <<>> packaging support for your projects
+
+ * AMP dependency management in Maven
+
+ * Installation of AMPs in an Alfresco or Share WAR
+
+ * AMP Unit Testing support. Just run the standard <<>> and see your <<>> Alfresco unit tests run.
+ An sample Unit Test is provided in this archetype.
+
+ * Embedded run in Jetty and embedded H2 database for demo purposes, rapid application development and integration testing
+ (<>: this is not a {{{http://www.alfresco.com/services/subscription/supported-platforms/} supported stack}} so use <>)
+
+How to create a project:
+
+ You can create the latest release archetype with the following command:
+
++---+
+mvn archetype:generate -DarchetypeCatalog=https://artifacts.alfresco.com/nexus/content/groups/public/archetype-catalog.xml -Dfilter=org.alfresco.maven.archetype:
++---+
+
+ You should then:
+
+ [[1]] Select the <<>> option
+
+ [[2]] Specify the <<>> and <<>> for the project you want to create
+
+ [[3]] () Select Alfresco Version / Edition (current default is: Alfresco Community 4.2.c)
+
+ You can find new Alfresco AMP project ready to go in the <<>> folder.
+
+Usage
+
+ Instructions on how to use the Alfresco AMP archetype can be found on the {{{./usage.html}usage page}}, while
+ for more advanced use cases refer to the {{{./advanced-usage.html}advanced usage page}}
diff --git a/archetypes/share-amp-archetype/src/site/apt/usage.apt.vm b/archetypes/share-amp-archetype/src/site/apt/usage.apt.vm
new file mode 100644
index 00000000..906a833f
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/site/apt/usage.apt.vm
@@ -0,0 +1,72 @@
+ ------
+ Alfresco Maven AMP Archetype Usage
+ ------
+ Gabriele Columbro
+ ------
+ Nov 2012
+ ------
+
+
+Prerequisites
+
+ See {{{../../prerequisites.html}SDK Pre-Requisites}} to successfully run this archetype.
+
+
+Project layout
+
+ The archetype generated project should look like:
+
++---+
+
+ pom.xml
+ src/main/amp
+ |-> module.properties
+ |-> file-mapping.properties (optional)
+ |-> config/
+ |-> web/
+ |-> licenses/
+ src/main/java //Java classes to be packaged in the AMP embedded JAR)
+ src/main/resources //resources to the packaged in the AMP embedded JAR)
+ src/test/java // Unit tests
+ src/test/resources // Unit test resources
+ src/test/properties/ // Environment aware alfresco-global.properties. By default =local
+
++---+
+
+ Basically by default the folder <<>> maps the {{{https://wiki.alfresco.com/wiki/AMP_Files#The_structure_of_an_AMP_file}AMP structure}} and it's where you can build your module.
+
+Usage
+
+ This project manages an AMP and provides support for typical development lifecycle use cases like:
+
+ * packaging
+
+ * testing
+
+ * run embedded
+
+ * integration testing
+
+ * release and distribution of your AMP artifact.
+
+ The AMPs produced with this project are fully compatible with Alfresco MMT, in fact the Alfresco Maven plugin used to manage AMPs in this SDK embeds the official Alfresco MMT to install depdended AMPs.
+
+Commands
+
+ Common AMP project lifecycle commands you want to run are:
+
+ * <<>>: Runs unit tests and packages AMP in <<<$\{project.build.directory\}/$\{project.build.finalName\}.amp>>>
+
+ * <<>>: Like <<>> but also installs AMP in local Maven repository to be depended upon
+
+ * <<>>: Like <<>> but skips unit tests
+
+ * <<>> Like <<>>
+ but also installs and runs the resulting WAR+AMP in Tomcat + H2 embedded for integration testing.
+ When you run this command then you can access in your browser <<< {{{http://localhost:8080/alfresco}}} >>> or <<< {{{http://localhost:8080/share}}} >>>
+ depending on the value of the property <<>>
+
+ * <<>>: Like <<>> but installs the AMP and runs on the Share WAR in Tomcat embedded.
+
+ * <<>>: Removes DB, alf_data, indexes and log files. Useful to purge the development repo (by default self contained in <<<$\{project.basedir\}/alf_data_dev>>>
+
diff --git a/archetypes/share-amp-archetype/src/site/site.xml b/archetypes/share-amp-archetype/src/site/site.xml
new file mode 100644
index 00000000..f2e1c9c2
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/site/site.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/archetypes/share-amp-archetype/src/test/resources/projects/basic/archetype.properties b/archetypes/share-amp-archetype/src/test/resources/projects/basic/archetype.properties
new file mode 100644
index 00000000..00abd955
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/test/resources/projects/basic/archetype.properties
@@ -0,0 +1,11 @@
+#Tue Oct 30 14:23:01 CET 2012
+package=it.pkg
+version=0.1-SNAPSHOT
+groupId=archetype.it
+alfresco_target_version=5.0.a-SNAPSHOT
+$=cat archetype.properties
+alfresco_target_groupId=org.alfresco
+alfresco_target_amp_client_war=share
+alfresco_target_amp_client_war_groupId=org.alfresco
+alfresco_target_amp_client_war_version=5.0.a-SNAPSHOT
+artifactId=basic
diff --git a/archetypes/share-amp-archetype/src/test/resources/projects/basic/goal.txt b/archetypes/share-amp-archetype/src/test/resources/projects/basic/goal.txt
new file mode 100644
index 00000000..0b598736
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/test/resources/projects/basic/goal.txt
@@ -0,0 +1 @@
+verify
diff --git a/archetypes/share-amp-archetype/src/test/resources/projects/run-basic/archetype.properties b/archetypes/share-amp-archetype/src/test/resources/projects/run-basic/archetype.properties
new file mode 100644
index 00000000..00abd955
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/test/resources/projects/run-basic/archetype.properties
@@ -0,0 +1,11 @@
+#Tue Oct 30 14:23:01 CET 2012
+package=it.pkg
+version=0.1-SNAPSHOT
+groupId=archetype.it
+alfresco_target_version=5.0.a-SNAPSHOT
+$=cat archetype.properties
+alfresco_target_groupId=org.alfresco
+alfresco_target_amp_client_war=share
+alfresco_target_amp_client_war_groupId=org.alfresco
+alfresco_target_amp_client_war_version=5.0.a-SNAPSHOT
+artifactId=basic
diff --git a/archetypes/share-amp-archetype/src/test/resources/projects/run-basic/goal.txt b/archetypes/share-amp-archetype/src/test/resources/projects/run-basic/goal.txt
new file mode 100644
index 00000000..fb8d393c
--- /dev/null
+++ b/archetypes/share-amp-archetype/src/test/resources/projects/run-basic/goal.txt
@@ -0,0 +1 @@
+verify -Pamp-to-war -Dmaven.tomcat.fork=true
diff --git a/pom.xml b/pom.xml
index 1bedb538..bd5f5241 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,6 +84,7 @@
poms/alfresco-sdk-parent
archetypes/alfresco-amp-archetype
+ archetypes/share-amp-archetype
archetypes/alfresco-allinone-archetype