after) {
+ return avatarGenerator.avatarUpdateNeeded(before, after);
+ }
+
+ public void setNodeService(NodeService nodeService) {
+ this.nodeService = nodeService;
+ }
+
+ public void setContentService(ContentService contentService) {
+ this.contentService = contentService;
+ }
+
+ public void setAvatarGenerator(AvatarGenerator avatarGenerator) {
+ this.avatarGenerator = avatarGenerator;
+ }
+
+ public void setTransactionService(TransactionService transactionService)
+ {
+ this.transactionService = transactionService;
+ }
+
+}
diff --git a/src/main/java/de/fmaul/alfresco/avatars/DefaultPersonAvatarBehaviour.java b/alfresco-repo/src/main/java/de/fmaul/alfresco/avatars/DefaultPersonAvatarBehaviour.java
similarity index 100%
rename from src/main/java/de/fmaul/alfresco/avatars/DefaultPersonAvatarBehaviour.java
rename to alfresco-repo/src/main/java/de/fmaul/alfresco/avatars/DefaultPersonAvatarBehaviour.java
diff --git a/src/main/java/de/fmaul/alfresco/avatars/InitialsWithColorAvatarGenerator.java b/alfresco-repo/src/main/java/de/fmaul/alfresco/avatars/InitialsWithColorAvatarGenerator.java
similarity index 100%
rename from src/main/java/de/fmaul/alfresco/avatars/InitialsWithColorAvatarGenerator.java
rename to alfresco-repo/src/main/java/de/fmaul/alfresco/avatars/InitialsWithColorAvatarGenerator.java
diff --git a/src/main/java/de/fmaul/alfresco/avatars/UpdateMissingUserAvatarsPatch.java b/alfresco-repo/src/main/java/de/fmaul/alfresco/avatars/UpdateMissingUserAvatarsPatch.java
similarity index 100%
rename from src/main/java/de/fmaul/alfresco/avatars/UpdateMissingUserAvatarsPatch.java
rename to alfresco-repo/src/main/java/de/fmaul/alfresco/avatars/UpdateMissingUserAvatarsPatch.java
diff --git a/src/test/properties/local/alfresco-global.properties b/alfresco-repo/src/test/properties/local/alfresco-global.properties
similarity index 82%
rename from src/test/properties/local/alfresco-global.properties
rename to alfresco-repo/src/test/properties/local/alfresco-global.properties
index 419cca7..17b2754 100644
--- a/src/test/properties/local/alfresco-global.properties
+++ b/alfresco-repo/src/test/properties/local/alfresco-global.properties
@@ -20,12 +20,12 @@
# Sample custom content and index data location
# This will create alf_data Relative to appserver run folder
-# In this default file we take the property from the POM (for compatbility with local jetty and jboss deployments) but it can also be edited here.
+# In this default file we take the property from the POM (for compatibility with local tomcat and jboss deployments) but it can also be edited here.
dir.root=${alfresco.data.location}
# Allowed values are: NONE, AUTO, FULL
index.recovery.mode=NONE
# As we run embedded, we set Lucene
-index.subsystem.name=lucene
+index.subsystem.name=buildonly
#dir.keystore=.
#keystore.password=storepassword
@@ -46,14 +46,9 @@ db.pool.max=100
# File servers related properties
# For local builds we disable CIFS and FTP. Edit the following property to reenable them
-smb.server.enabled=false
-smb.server.name=CFS_SHARE_LOCAL
-smb.server.domain=mycompany.com
-smb.server.bindto=127.0.0.1
-smb.tcpip.port=1445
-netbios.session.port=1139
-netbios.name.port=1137
-netbios.datagram.port=1138
-ftp.server.enables=false
+cifs.enabled=false
+
+ftp.enabled=false
ftp.port=1121
-ftp.authenticator=alfresco
\ No newline at end of file
+ftp.authenticator=alfresco
+
diff --git a/alfresco-repo/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml b/alfresco-repo/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml
new file mode 100644
index 0000000..8d9fb35
--- /dev/null
+++ b/alfresco-repo/src/test/resources/alfresco/extension/disable-webscript-caching-context.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+ javascript
+
+
+ js
+
+
+
+ false
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+ ${spaces.store}
+
+
+ ${spaces.company_home.childname}
+
+
+
+
+
diff --git a/alfresco-repo/src/test/resources/log4j.properties b/alfresco-repo/src/test/resources/log4j.properties
new file mode 100644
index 0000000..bf4a472
--- /dev/null
+++ b/alfresco-repo/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/alfresco-repo/tomcat/context.xml b/alfresco-repo/tomcat/context.xml
new file mode 100644
index 0000000..b7abe44
--- /dev/null
+++ b/alfresco-repo/tomcat/context.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/alfresco-share/pom.xml b/alfresco-share/pom.xml
new file mode 100644
index 0000000..69ca1ec
--- /dev/null
+++ b/alfresco-share/pom.xml
@@ -0,0 +1,79 @@
+
+
+ 4.0.0
+ de.fmaul.alfresco
+ alfresco-default-user-avatars-share
+ 1.2.0
+ alfresco-default-user-avatars-share AMP project
+ amp
+ Default Users Avatar Generator - Only needed for development
+
+
+ org.alfresco.maven
+ alfresco-sdk-parent
+ 2.0.0-SNAPSHOT
+
+
+
+
+
+ ${alfresco.share.artifactId}
+ /share
+
+ 8081
+
+
+ http://localhost:8080/alfresco
+
+
+
+
+
+ WARN
+
+
+
+
+
+
+
+
+ ${alfresco.groupId}
+ alfresco-platform-distribution
+ ${alfresco.version}
+ pom
+ import
+
+
+
+
+
+
+ ${alfresco.groupId}
+ alfresco-repository
+
+
+
+ org.springframework.extensions.surf
+ spring-surf-api
+ provided
+
+
+
+
+
diff --git a/alfresco-share/run.sh b/alfresco-share/run.sh
new file mode 100644
index 0000000..00051c7
--- /dev/null
+++ b/alfresco-share/run.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+# Downloads the spring-loaded lib if not existing and runs the Share AMP
+springloadedfile=~/.m2/repository/org/springframework/springloaded/1.2.5.RELEASE/springloaded-1.2.5.RELEASE.jar
+
+if [ ! -f $springloadedfile ]; then
+mvn validate -Psetup
+fi
+
+MAVEN_OPTS="-javaagent:$springloadedfile -noverify" mvn integration-test -Pamp-to-war
\ No newline at end of file
diff --git a/alfresco-share/src/main/amp/file-mapping.properties b/alfresco-share/src/main/amp/file-mapping.properties
new file mode 100644
index 0000000..45cccaf
--- /dev/null
+++ b/alfresco-share/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/alfresco-share/src/main/amp/log4j.properties b/alfresco-share/src/main/amp/log4j.properties
new file mode 100644
index 0000000..ed9f513
--- /dev/null
+++ b/alfresco-share/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/alfresco-share/src/main/amp/module.properties b/alfresco-share/src/main/amp/module.properties
new file mode 100644
index 0000000..158500f
--- /dev/null
+++ b/alfresco-share/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=${project.version}
+
+# 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/alfresco-share/src/main/resources/META-INF/resources/test.html b/alfresco-share/src/main/resources/META-INF/resources/test.html
new file mode 100644
index 0000000..53ec260
--- /dev/null
+++ b/alfresco-share/src/main/resources/META-INF/resources/test.html
@@ -0,0 +1,6 @@
+
+
+ This is a test web resource loaded from the JAR/META-INF/resources.
+ This, per Servlet 3 spec is mapped to the root of the webapp
+
+
\ No newline at end of file
diff --git a/alfresco-share/src/main/resources/META-INF/share-config-custom.xml.sample b/alfresco-share/src/main/resources/META-INF/share-config-custom.xml.sample
new file mode 100644
index 0000000..219739b
--- /dev/null
+++ b/alfresco-share/src/main/resources/META-INF/share-config-custom.xml.sample
@@ -0,0 +1,423 @@
+
+
+
+
+
+
+
+ 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/alfresco-share/src/test/resources/alfresco/web-extension/share-config-custom.xml b/alfresco-share/src/test/resources/alfresco/web-extension/share-config-custom.xml
new file mode 100644
index 0000000..719b4d0
--- /dev/null
+++ b/alfresco-share/src/test/resources/alfresco/web-extension/share-config-custom.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+ production
+
+
+
+
+
+
+
+
+
+ true
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+ alfresco-noauth
+ Alfresco - unauthenticated access
+ Access to Alfresco Repository WebScripts that do not require authentication
+ alfresco
+ ${alfresco.repo.url}/s
+ none
+
+
+
+ alfresco
+ Alfresco - user access
+ Access to Alfresco Repository WebScripts that require user authentication
+ alfresco
+ ${alfresco.repo.url}/s
+ user
+
+
+
+ alfresco-feed
+ Alfresco Feed
+ Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet
+ http
+ ${alfresco.repo.url}/s
+ true
+ user
+
+
+
+ activiti-admin
+ Activiti Admin UI - user access
+ Access to Activiti Admin UI, that requires user authentication
+ activiti-admin-connector
+ ${alfresco.repo.url}/activiti-admin
+ user
+
+
+
+
+
diff --git a/alfresco-share/src/test/resources/log4j.properties b/alfresco-share/src/test/resources/log4j.properties
new file mode 100644
index 0000000..bf4a472
--- /dev/null
+++ b/alfresco-share/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/alfresco-share/tomcat/context.xml b/alfresco-share/tomcat/context.xml
new file mode 100644
index 0000000..5920f8e
--- /dev/null
+++ b/alfresco-share/tomcat/context.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/jetty/jetty.xml b/jetty/jetty.xml
deleted file mode 100644
index b9bf3d8..0000000
--- a/jetty/jetty.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
- jdbc/dataSource
-
-
- ${alfresco.db.url}
- ${alfresco.db.username}
- ${alfresco.db.password}
-
-
-
-
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index cf55999..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
- 4.0.0
- de.fmaul.alfresco
- alfresco-default-user-avatars
- 1.0
- alfresco-default-user-avatars AMP project
- amp
- Manages the lifecycle of the alfresco-default-user-avatars AMP (Alfresco Module Package)
-
-
- org.alfresco.maven
- alfresco-sdk-parent
- 1.0.2
-
-
-
-
-
- org.alfresco
-
- 4.2.d
- WARN
- alf_data_dev
-
- alfresco
-
- org.alfresco
-
- 4.2.d
-
- local
-
-
-
-
-
-
-
- ${alfresco.groupId}
- alfresco-platform-distribution
- ${alfresco.version}
- pom
- import
-
-
-
-
-
-
- ${alfresco.groupId}
- alfresco-repository
-
-
-
- junit
- junit
- 4.8.1
- test
-
-
- org.springframework
- spring-context
- 3.0.6.RELEASE
- provided
-
-
-
-
-
-
- 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/src/main/java/de/fmaul/alfresco/avatars/AvatarServiceImpl.java b/src/main/java/de/fmaul/alfresco/avatars/AvatarServiceImpl.java
deleted file mode 100644
index 22f1494..0000000
--- a/src/main/java/de/fmaul/alfresco/avatars/AvatarServiceImpl.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package de.fmaul.alfresco.avatars;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.alfresco.model.ContentModel;
-import org.alfresco.service.cmr.repository.ChildAssociationRef;
-import org.alfresco.service.cmr.repository.ContentService;
-import org.alfresco.service.cmr.repository.ContentWriter;
-import org.alfresco.service.cmr.repository.NodeRef;
-import org.alfresco.service.cmr.repository.NodeService;
-import org.alfresco.service.namespace.NamespaceService;
-import org.alfresco.service.namespace.QName;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-public class AvatarServiceImpl implements AvatarService {
-
- Log log = LogFactory.getLog(AvatarServiceImpl.class);
-
- private NodeService nodeService;
- private ContentService contentService;
- private AvatarGenerator avatarGenerator;
-
- @Override
- public NodeRef createDefaultUserAvatar(NodeRef person) {
-
- if (avatarGenerator.avatarCanBeGenerated(person)) {
-
- String userName = (String) nodeService.getProperty(person, ContentModel.PROP_USERNAME);
-
- String name = DEFAULT_AVATAR_NAME_PREFIX + userName + ".png";
- QName assocQName = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName(name));
-
- ChildAssociationRef avatarNodeAssoc = nodeService.createNode(person, ContentModel.ASSOC_PREFERENCE_IMAGE, assocQName,
- ContentModel.TYPE_CONTENT);
-
- NodeRef avatarNode = avatarNodeAssoc.getChildRef();
- nodeService.setProperty(avatarNode, ContentModel.PROP_NAME, name);
-
- ContentWriter writer = contentService.getWriter(avatarNode, ContentModel.PROP_CONTENT, true);
- writer.guessMimetype(name);
-
- avatarGenerator.createAvatar(person, writer.getContentOutputStream());
-
- nodeService.createAssociation(person, avatarNode, ContentModel.ASSOC_AVATAR);
-
- return avatarNode;
- }
- return null;
- }
-
- @Override
- public boolean avatarUpdateNeeded(Map before, Map after) {
- return avatarGenerator.avatarUpdateNeeded(before, after);
- }
-
- public void setNodeService(NodeService nodeService) {
- this.nodeService = nodeService;
- }
-
- public void setContentService(ContentService contentService) {
- this.contentService = contentService;
- }
-
- public void setAvatarGenerator(AvatarGenerator avatarGenerator) {
- this.avatarGenerator = avatarGenerator;
- }
-
-}