Merged up to HEAD.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3129 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-06-16 19:18:30 +00:00
parent 936f6d7021
commit 7f79a2a498
118 changed files with 14354 additions and 843 deletions

View File

@@ -14,7 +14,7 @@
<bean id="authorityService" class="org.alfresco.repo.security.authority.AuthorityServiceImpl">
<property name="authenticationComponent">
<ref bean="authenticationComponent" />
<ref bean="authenticationComponentImpl" />
</property>
<property name="personService">
<ref bean="personService" />

View File

@@ -4,13 +4,7 @@
xmlns:app="http://www.alfresco.org/model/application/1.0">
<view:reference view:pathref="/">
<!-- Apply Read access to Everyone on root node of Spaces Store -->
<view:acl>
<view:ace view:access="ALLOWED">
<view:authority>GROUP_EVERYONE</view:authority>
<view:permission>Read</view:permission>
</view:ace>
</view:acl>
<!-- No permissions for root of archived store -->
</view:reference>
</view:view>

View File

@@ -23,24 +23,27 @@
</bean>
<!-- Datasource bean -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>${db.driver}</value>
</property>
<property name="url">
<property name="jdbcUrl">
<value>${db.url}</value>
</property>
<property name="username">
<property name="user">
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
<property name="initialSize" >
<value>20</value>
<property name="initialPoolSize" >
<value>${db.pool.initial}</value>
</property>
<property name="maxActive" >
<value>20</value>
<property name="maxPoolSize" >
<value>${db.pool.max}</value>
</property>
<property name="numHelperThreads" >
<value>1</value>
</property>
</bean>
@@ -95,6 +98,9 @@
<property name="password">
<value>${mail.password}</value>
</property>
<property name="defaultEncoding">
<value>${mail.encoding}</value>
</property>
</bean>
<!-- -->
@@ -204,6 +210,9 @@
<property name="queryRegister">
<ref bean="queryRegisterComponent" />
</property>
<property name="maxAtomicTransformationTime">
<value>${lucene.maxAtomicTransformationTime}</value> <!-- milliseconds allowed for inline text transformation -->
</property>
<property name="queryMaxClauses">
<value>${lucene.query.maxClauses}</value>
</property>

View File

@@ -3,7 +3,7 @@
#
server.transaction.mode.readOnly=PROPAGATION_REQUIRED, readOnly
# the properties below should change in tandem
# server.transaction.mode=PROPAGATION_REQUIRED, readOnly
# server.transaction.allow-writes=false
#server.transaction.mode.default=PROPAGATION_REQUIRED, readOnly
#server.transaction.allow-writes=false
server.transaction.mode.default=PROPAGATION_REQUIRED
server.transaction.allow-writes=true

View File

@@ -52,7 +52,7 @@
<!-- approx 25MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.aspects"
maxElementsInMemory="20000"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -61,7 +61,7 @@
<!-- approx 50MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.properties"
maxElementsInMemory="50000"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -70,7 +70,7 @@
<!-- approx 50MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.childAssocs"
maxElementsInMemory="50000"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -79,7 +79,7 @@
<!-- approx 50MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.parentAssocs"
maxElementsInMemory="50000"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -88,7 +88,7 @@
<!-- approx 70MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.ChildAssocImpl"
maxElementsInMemory="50000"
maxElementsInMemory="200000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -97,7 +97,7 @@
<!-- approx 20MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.sourceNodeAssocs"
maxElementsInMemory="20000"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -106,7 +106,7 @@
<!-- approx 20MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.targetNodeAssocs"
maxElementsInMemory="20000"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
@@ -153,19 +153,19 @@
<!-- approx 10MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"
maxElementsInMemory="10000"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"/>
<!-- approx 10MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl.entries"
maxElementsInMemory="10000"
maxElementsInMemory="1000"
eternal="true"
overflowToDisk="false"/>
<!-- approx 30MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl"
maxElementsInMemory="25000"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"/>
<!-- approx 1MB memory required -->

View File

@@ -4,6 +4,8 @@
#db.username=alfresco
#db.password=alfresco
#db.pool.initial=10
#db.pool.max=100
#
# MySQL connection (This is default and requires mysql-connector-java-3.1.12-bin.jar, which ships with the Alfresco server)
@@ -22,3 +24,9 @@
#
#db.driver=com.sybase.jdbc2.jdbc.SybDriver
#db.url=jdbc:sybase:Tds:localhost:2638/alfresco
#
# SQLServer connection (requires jdts-1.2.jar or equivalent - http://jtds.sourceforge.net/)
#
#db.driver=net.sourceforge.jtds.jdbc.Driver
#db.url=jdbc:jtds:sqlserver://your-server-name/alfresco

View File

@@ -21,3 +21,8 @@
# Sybase dialect
#
#hibernate.dialect=org.hibernate.dialect.SybaseAnywhereDialect
#
# SQLServer dialect
#
#hibernate.dialect=org.hibernate.dialect.SQLServerDialect

View File

@@ -287,6 +287,10 @@
<property name="memberAttribute">
<value>member</value>
</property>
<property name="authorityDAO">
<ref bean="authorityDAO"/>
</property>
</bean>
<!-- Job definitions to import LDAP people and groups -->
@@ -397,6 +401,13 @@
<property name="namespacePrefixResolver">
<ref bean="namespaceService"/>
</property>
<property name="caches">
<set>
<ref bean="permissionsAccessCache"/>
</set>
</property>
</bean>
<!-- The bean that imports xml descibing groups -->
@@ -437,6 +448,16 @@
<property name="namespacePrefixResolver">
<ref bean="namespaceService"/>
</property>
<!-- caches to clear on import of groups -->
<property name="caches">
<set>
<ref bean="userToAuthorityCache"/>
<ref bean="permissionsAccessCache"/>
</set>
</property>
<!-- userToAuthorityCache -->
</bean>
</beans>

View File

@@ -0,0 +1,88 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- Indexer and searchers for lucene -->
<bean id="luceneIndexerAndSearcherFactory"
class="org.alfresco.repo.search.impl.lucene.LuceneIndexerAndSearcherFactory2">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="nameSpaceService">
<ref bean="namespaceService" />
</property>
<property name="luceneIndexLock">
<ref bean="luceneIndexLock" />
</property>
<property name="luceneFullTextSearchIndexer">
<ref bean="LuceneFullTextSearchIndexer" />
</property>
<property name="indexRootLocation">
<value>${dir.indexes}</value>
</property>
<property name="contentService">
<ref bean="contentService" />
</property>
<property name="queryRegister">
<ref bean="queryRegisterComponent" />
</property>
<property name="maxAtomicTransformationTime">
<value>${lucene.maxAtomicTransformationTime}</value>
</property>
<property name="queryMaxClauses">
<value>${lucene.query.maxClauses}</value>
</property>
<property name="indexerBatchSize">
<value>${lucene.indexer.batchSize}</value>
</property>
<property name="indexerMinMergeDocs">
<value>${lucene.indexer.minMergeDocs}</value>
</property>
<property name="indexerMergeFactor">
<value>${lucene.indexer.mergeFactor}</value>
</property>
<property name="indexerMaxMergeDocs">
<value>${lucene.indexer.maxMergeDocs}</value>
</property>
<property name="lockDirectory">
<value>${dir.indexes.lock}</value>
</property>
<property name="indexerMaxFieldLength">
<value>${lucene.indexer.maxFieldLength}</value>
</property>
<property name="writeLockTimeout">
<value>${lucene.write.lock.timeout}</value>
</property>
<property name="commitLockTimeout">
<value>${lucene.commit.lock.timeout}</value>
</property>
<property name="lockPollInterval">
<value>${lucene.lock.poll.interval}</value>
</property>
</bean>
<!-- Bean to backup Lucene indexes -->
<bean id="luceneIndexBackupComponent"
class="org.alfresco.repo.search.impl.lucene.LuceneIndexerAndSearcherFactory2$LuceneIndexBackupComponent">
<property name="transactionService">
<ref bean="transactionComponent" />
</property>
<property name="factory">
<ref bean="luceneIndexerAndSearcherFactory" />
</property>
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="targetLocation">
<value>${dir.root}/backup-lucene-indexes</value>
</property>
</bean>
</beans>

View File

@@ -11,29 +11,44 @@
<bean id="backupContentStore"
class="org.alfresco.repo.content.filestore.FileContentStore">
<constructor-arg>
<value>s:/backups/alfresco</value>
<value>${dir.contentstore}/../backups/alfresco</value>
</constructor-arg>
</bean>
<bean id="primaryContentStoreBackupComponent"
<bean id="contentStoreReplicator"
class="org.alfresco.repo.content.replication.ContentStoreReplicator"
depends-on="fileContentStore, backupContentStore"
init-method="start">
depends-on="fileContentStore, backupContentStore" >
<!-- content source -->
<property name="sourceStore">
<value>fileContentStore</value>
<ref bean="fileContentStore" />
</property>
<!-- content target -->
<property name="targetStore">
<value>backupContentStore</value>
<ref bean="backupContentStore" />
</property>
<!-- set to 'false' to perform a single pass before quitting -->
<property name="runContinuously">
<value>true</value>
</bean>
<bean id="contentStoreBackupTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.content.replication.ContentStoreReplicator$ContentStoreReplicatorJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="contentStoreReplicator">
<ref bean="contentStoreReplicator" />
</entry>
</map>
</property>
</bean>
</property>
<!-- time between passes -->
<property name="waitTime">
<value>60</value>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<!-- trigger at 3am each day -->
<property name="cronExpression">
<value>0 0 03 * * ?</value>
</property>
</bean>

View File

@@ -105,11 +105,16 @@
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.NodeDaoServiceTransactionInterceptor" >
<property name="nodeDaoService">
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.TransactionalDaoInterceptor" >
<property name="daoService">
<ref bean="nodeDaoServiceImpl" />
</property>
</bean>
<bean id="persmissionDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.TransactionalDaoInterceptor" >
<property name="daoService">
<ref bean="permissionsDaoComponent" />
</property>
</bean>
<bean id="nodeDaoService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.repo.node.db.NodeDaoService</value>

View File

@@ -67,3 +67,8 @@ patch.descriptorUpdate.result=Repository descriptor updated
patch.scriptsFolder.description=Ensures the existence of the 'Scripts' folder.
patch.scriptsFolder.result.exists=The scripts folder already exists: {0}
patch.scriptsFolder.result.created=The scripts folder was successfully created: {0}
patch.topLevelGroupParentChildAssociationTypePatch.description=Ensure top level groups have the correct child association type.
patch.topLevelGroupParentChildAssociationTypePatch.=Fixed top level groups child association type.

View File

@@ -6,12 +6,11 @@
<bean name="fileFolderService" class="org.alfresco.repo.model.filefolder.FileFolderServiceImpl" init-method="init">
<property name="namespaceService"><ref bean="namespaceService" /></property>
<property name="dictionaryService"><ref bean="dictionaryService" /></property>
<property name="nodeService"><ref bean="NodeService" /></property>
<property name="copyService"><ref bean="CopyService" /></property>
<!-- NOTE: using Big SearchService until AR-279 is completed -->
<property name="searchService"><ref bean="SearchService" /></property>
<property name="contentService"><ref bean="ContentService" /></property>
<property name="mimetypeService"><ref bean="MimetypeService" /></property>
<property name="nodeService"><ref bean="nodeService" /></property>
<property name="copyService"><ref bean="copyService" /></property>
<property name="searchService"><ref bean="searchService" /></property>
<property name="contentService"><ref bean="contentService" /></property>
<property name="mimetypeService"><ref bean="mimetypeService" /></property>
<property name="systemPaths">
<list>

View File

@@ -115,6 +115,10 @@
<type>d:text</type>
<mandatory enforced="true">true</mandatory>
</property>
<property name="sys:node-dbid">
<type>d:long</type>
<mandatory enforced="true">true</mandatory>
</property>
</properties>
</aspect>
@@ -139,6 +143,10 @@
<type>d:datetime</type>
<mandatory>true</mandatory>
</property>
<property name="sys:archivedOriginalOwner">
<type>d:text</type>
<mandatory>true</mandatory>
</property>
</properties>
</aspect>
<aspect name="sys:archived-assocs">

View File

@@ -66,6 +66,7 @@
<property name="fileFolderService"><ref bean="FileFolderService" /></property>
<property name="mimetypeService"><ref bean="mimetypeService" /></property>
<property name="permissionService"><ref bean="permissionService"/></property>
<property name="allowWrites"><value>${server.transaction.allow-writes}</value></property>
</bean>
</beans>

View File

@@ -360,4 +360,13 @@
</property>
</bean>
<bean id="patch.topLevelGroupParentChildAssociationTypePatch" class="org.alfresco.repo.admin.patch.impl.TopLevelGroupParentChildAssociationTypePatch" parent="basePatch">
<property name="id"><value>patch.topLevelGroupParentChildAssociationTypePatch</value></property>
<property name="description"><value>patch.topLevelGroupParentChildAssociationTypePatch.description</value></property>
<property name="fixesFromSchema"><value>0</value></property>
<property name="fixesToSchema"><value>13</value></property>
<property name="targetSchema"><value>14</value></property>
</bean>
</beans>

View File

@@ -915,6 +915,7 @@
<list>
<idref local="FileFolderService_transaction" />
<idref local="exceptionTranslator" />
<idref bean="FileFolderService_security" />
</list>
</property>
</bean>

View File

@@ -353,6 +353,35 @@
</property>
</bean>
<!-- ============================== -->
<!-- FileFolder Service Permissions -->
<!-- ============================== -->
<bean id="FileFolderService_security" class="net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
<property name="authenticationManager"><ref bean="authenticationManager"/></property>
<property name="accessDecisionManager"><ref local="accessDecisionManager"/></property>
<property name="afterInvocationManager"><ref local="afterInvocationManager"/></property>
<property name="objectDefinitionSource">
<value>
org.alfresco.service.cmr.model.FileFolderService.list=ACL_NODE.0.sys:base.ReadChildren,AFTER_ACL_NODE.sys:base.Read
org.alfresco.service.cmr.model.FileFolderService.listFiles=ACL_NODE.0.sys:base.ReadChildren,AFTER_ACL_NODE.sys:base.Read
org.alfresco.service.cmr.model.FileFolderService.listFolders=ACL_NODE.0.sys:base.ReadChildren,AFTER_ACL_NODE.sys:base.Read
org.alfresco.service.cmr.model.FileFolderService.search=ACL_NODE.0.sys:base.ReadChildren,AFTER_ACL_NODE.sys:base.Read
org.alfresco.service.cmr.model.FileFolderService.rename=ACL_PARENT.0.sys:base.CreateChildren,AFTER_ACL_NODE.sys:base.WriteProperties
org.alfresco.service.cmr.model.FileFolderService.move=ACL_NODE.0.sys:base.DeleteNode,ACL_NODE.1.sys:base.CreateChildren
org.alfresco.service.cmr.model.FileFolderService.copy=ACL_NODE.0.sys:base.Read,ACL_NODE.1.sys:base.CreateChildren
org.alfresco.service.cmr.model.FileFolderService.create=ACL_NODE.0.sys:base.CreateChildren
org.alfresco.service.cmr.model.FileFolderService.delete=ACL_NODE.0.sys:base.DeleteNode
org.alfresco.service.cmr.model.FileFolderService.makeFolders=AFTER_ACL_PARENT.sys:base.CreateChildren
org.alfresco.service.cmr.model.FileFolderService.getNamePath=ACL_NODE.1.sys:base.ReadProperties
org.alfresco.service.cmr.model.FileFolderService.resolveNamePath=AFTER_ACL_NODE.sys:base.ReadProperties
org.alfresco.service.cmr.model.FileFolderService.getFileInfo=ACL_NODE.0.sys:base.ReadProperties
org.alfresco.service.cmr.model.FileFolderService.getReader=ACL_NODE.0.sys:base.ReadContent
org.alfresco.service.cmr.model.FileFolderService.getWriter=ACL_NODE.0.sys:base.WriteContent
</value>
</property>
</bean>
<!-- =========================== -->
<!-- Content Service Permissions -->
<!-- =========================== -->
@@ -369,6 +398,7 @@
org.alfresco.service.cmr.repository.ContentService.getReader=ACL_NODE.0.sys:base.ReadContent
org.alfresco.service.cmr.repository.ContentService.getWriter=ACL_NODE.0.sys:base.WriteContent
org.alfresco.service.cmr.repository.ContentService.isTransformable=ACL_ALLOW
org.alfresco.service.cmr.repository.ContentService.getTransformer=ACL_ALLOW
org.alfresco.service.cmr.repository.ContentService.transform=ACL_ALLOW
org.alfresco.service.cmr.repository.ContentService.getTempWriter=ACL_ALLOW
</value>

View File

@@ -17,6 +17,11 @@ dir.indexes.lock=${dir.indexes}/locks
# Lucene configuration #
# #################### #
#
# Millisecond threshold for text transformations
# Slower transformers will force the text extraction to be asynchronous
#
lucene.maxAtomicTransformationTime=20
#
# The maximum number of clauses that are allowed in a lucene query
#
lucene.query.maxClauses=10000
@@ -54,11 +59,8 @@ db.name=alfresco
db.url=jdbc:mysql:///${db.name}
db.username=alfresco
db.password=alfresco
#db.name=alfresco
#db.url=jdbc:mysql://qasi/${db.name}
#db.username=alfresco
#db.password=alfresco
db.pool.initial=10
db.pool.max=20
# Email configuration
@@ -66,6 +68,8 @@ mail.host=
mail.port=25
mail.username=anonymous
mail.password=
# Set this value to UTF-8 or similar for encoding of email messages as required
mail.encoding=
# System Configuration

View File

@@ -59,25 +59,26 @@
</property>
</bean>
<bean id="fileContentStoreCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.content.cleanup.ContentStoreCleanupJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="contentStoreCleaner">
<ref bean="contentStoreCleaner" />
</entry>
</map>
</property>
</bean>
<bean id="contentStoreCleanerTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean id="fileContentStoreCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.content.cleanup.ContentStoreCleanupJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="contentStoreCleaner">
<ref bean="contentStoreCleaner" />
</entry>
</map>
</property>
</bean>
<ref bean="fileContentStoreCleanerJobDetail" />
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<!-- trigger at 4am each day -->
<!-- trigger at 4am each day -->
<property name="cronExpression">
<value>0 0 4 * * ?</value>
</property>
@@ -110,25 +111,26 @@
</property>
</bean>
<bean id="indexBackupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.search.impl.lucene.LuceneIndexerAndSearcherFactory$LuceneIndexBackupJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="luceneIndexBackupComponent">
<ref bean="luceneIndexBackupComponent" />
</entry>
</map>
</property>
</bean>
<bean id="indexBackupTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<bean id="IndexBackupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.repo.search.impl.lucene.LuceneIndexerAndSearcherFactory$LuceneIndexBackupJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="luceneIndexBackupComponent">
<ref bean="luceneIndexBackupComponent" />
</entry>
</map>
</property>
</bean>
<ref bean="indexBackupJobDetail" />
</property>
<property name="scheduler">
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<!-- trigger at 3am each day -->
<!-- trigger at 3am each day -->
<property name="cronExpression">
<value>0 0 3 * * ?</value>
</property>

View File

@@ -7,7 +7,7 @@
version.major=1
version.minor=3
version.revision=0
version.label=dev
version.label=RC2 (dev)
# Edition label
@@ -15,4 +15,4 @@ version.edition=Community Network
# Schema number
version.schema=13
version.schema=14