- Fixed CacheTest to avoid disk flushes (configuration issues)
- Allows Cache statistics to be turned off (done)
- Added explicit switch to LruMemoryStore (raised https://jira.terracotta.org/jira/browse/EHC-652)
- Removed EHCache usage within TransactionalCache (replaced with LruMap and Set)
- Even with 'statistics=false' the EHCache code still messes about too much, but it's much better
- TODO: Leave ripping out of ehcache-transactional.xml until DAO synch
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19324 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
19151: SAIL-298: Implemented subsystem changes.
- We didn't remove the cifs.serverName property because it is independent of host/port/context/protocol.
Applied following corrections
- Removed the email 'chain'. OutboundSMTP and InboundSMTP are separate subsystems and don't need to be chained
- Added the ability for multiple Spring-initialized subsystems to share the same category
- No need to expose mailService outside of the OutboundSMTP subsystem as far as I can tell
- GlobalDeskTopActionConfigBean doesn't need dependencies and no longer exposes the webpath property
- Fixed construction of contexts in ContentDiskDriver.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19266 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17574: Merged in DEV work for ContentStoreCleaner: ETHREEOH-2813
17432: Build up for fix of ETHREEOH-2813: ContentStoreCleaner doesn't scale
17546: ContentStoreCleaner fixes and further tests
17524: Unit tests and bulk queries for orphaned content
17506: W.I.P. for content cleaner for V3.2: ETHREEOH-2813
17575: Missed check-in (other DB create scripts look OK)
17577: Re-activated 'contentStoreCleanerTrigger'
- Added system property: system.content.orphanCleanup.cronExpression=0 0 4 * * ?
- Other useful properties:
system.content.eagerOrphanCleanup=false
system.content.orphanProtectDays=14
17578: Fixed MT test and sample contexts after recent content cleaner changes
17579: Fixed DB2 unique index creation for content URLs
17580: First pass at fix for ETHREEOH-3454: Port enterprise upgrade scripts for ContentStoreCleaner changes
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V3.2:r17574-17575,17577-17580
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18151 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17363: Fix to DbNodeServiceImple to allow restored nodes.
17384: Minor comments
17451: Fix ETHREEOH-2751 / ETWOONE-340 - specialising a node through an action doesn't set default values from model
17459: ETHREEOH-2391 - Invite pending task now has lots of properties
17465: Repo side fix for ETHREEOH-3010: Inbound and outbound Mltext multiple property are not converted correctly
17478: Fix ETHREEOH-3340 - WCM - Revert to snapshot failure (fix AVM getListing -> AVNSync compare -> WCM revertSnapshot)
17483: (record only) Merged V3.1 to V3.2 (record-only)
17482: (record-only) due to earlier back-merge
17493: Fix for ETHREEOH-3342: index.recovery.mode example is incorrect
17494: Fix for ETHREEOH-3027: missingFullTextReindexTrigger (from index-recovery-context.xml) job does not work.
17510: Fix for ETHREEOH-1147: Indexing large indices can lead to Java Heap space.
17511: Fix for ETHREEOH-1271: It is possible to add one category more than one time to the same content or space
17513: ETHREEOH_3366: Altered DictionaryDAOImpl so that passing a null QName into getType and getAspect does not result in an NPE
17531: ETHREEOH-1186: Corrected rssfeed.get.js so a user can configure a RSS Feed dashlet that has been placed on their own dashboard
17550: ETHREEOH-2317: Rule not fired when document has no content
17556: Fixed ETHREEOH-1229: Can't delete space that contains "translation without content"
17558: Fix for ETHREEOH-3356: Forms fail to persist if property or association name has an _ (underscore) in it
17572: Changed caching of person NodeRefs so that duplicates are detected better
17573: Fixed UTF-8 for file with encoded chars
17576: LockAcquisitionException message specific to failed release of taken-over lock
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V3.2:r17363,17384,17451,17459,17465,17478,17483,17493-17494,17510-17511,17513,17531,17550,17556,17558,17572-17573,17576
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18140 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17366: Fix for ETHREEOH-2761: UI - Cannot search in deleted items with more than 2 Japanese characters
17369: Fix for ETHREEOH-1771: Unable to use language-specific-index-and-search-context.xml
17383: Putting explicit version name on PDFRenderer.jar
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V3.2:r17366,17369,17383
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18133 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
18088: ETHREEOH-3787: Addition of liferay-display.xml to define category for demo portlet
18053: Build fix: Re-enable log ins to Alfresco web app when not running in a portlet container
- Removed direct dependencies between FacesHelper and portlet API
18037: Merged DEV/DAVEW/SURFPORTLET to V3.2
17669: Changes to enable surf rendering from a portlet
- New DispatcherPortlet forwards portlet requests to the DispatcherServlet as servlet requests.
- A new filter 'lazily' creates users' dashboard pages to avoid the need to have to redirect from site-index.jsp
- Build against JSR 286 portlet 2.0 API jar
- Exclude portlet API jar from war to avoid ClassCastExceptions
- Lazily init portlet authenticators to avoid ClassNotFoundExceptions when not running in a portlet container
- Fix web.xml schema validation problems
- UserFactory session keys given unique prefix to avoid class with Liferay shared session attributes
- Liferay deployment descriptor to enable user principal name resolution
- Fixed subsystem problem that prevented the override of a property with the empty string in alfresco-global.properties. Stopped 'unprotected' external auth from working.
18019: ETHREEOH-3770: LDAP sync now supports attribute range retrieval to get around limits imposed by Active Directory on multi-valued attributes
- Meant that groups with more than 1000 members were getting truncated in Active Directory
- Now switched on in ldap-ad and off in ldap subsystem
- Also switched off result set paging in ldap subsystem by default for wider compatibility with non-AD systems
17759: Merged DEV/BELARUS/V3.2-2009_11_24 to V3.2
17755: ETHREEOH-3739: build 283: Upgrades from 3.1.1 and 3.1.2 fail on JBoss 5.1
- The getFile method was created for ImapFoldersPatch to retrieve acp file for ACPImportPackageHandler.
- This method tries to load ACP file from file location and if it is unsuccessful then creates temporary file from resource input stream.
- In other words we apply aproach from ImporterBootstrap.
17600: ETHREEOH-1002: Avoid using HTTP 1.1 chunked transfer encoding to send heartbeat data because some proxy servers can't cope with it!
- Unit test can now parse chunked and un-chunked HTTP requests
17597: Further optimizations to authority caching
- Don't invalidate entire user authority lookup cache when user added to or removed from an authority
17588: Fix up authority caching
- Need to include tenant domain in cache key
- Also reinstated cache of user recursive group memberships for performance purposes
17559: ETHREEOH-3440: Authority search performance improvements
- AuthorityDAO now uses Lucene (again) to do wildcard style authority searches by name, type and zone
- Retrieval by exact name, type and zone still performed by DB methods
- DB methods now optimized to avoid having to load group child nodes to determine group membership
- Authority cache now stores authority node refs by name to reduce authority resolution queries
- ScriptGroup avoids hammering repository with multiple searches to determine group membership
17545: ETHREEOH-3371: Fixed group searches to search within the default zone and thus hide 'invisible' WCM and Share groups.
17527: ETHREEOH-3375: Use static inner class for cache key to avoid non serializable exceptions
17523: ETHREEOH-3337: Fix NPEs in RepoServerMgmt operations
- Transactional cache can have entries with non-null keys and null values
17521: ETHREEOH-3158: Proper handling of user validation failures in Kerberos Authentication filters.
17490: Fix failing HeartBeatTest
- Prevent possibility of both test and non-test public keys being used at the same time
17481: Fix build for Jan
- Removed JDK 1.6 String.isEmpty() references
17472: Follow-on for ETHREEOH-2648 - tighten guest login, eg. if no guest configured (in auth chain)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18108 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17163: org.alfresco.repo.domain.hibernate.AclDaoComponentImpl.updateAuthority() needs to flush/dirty the session in order to work
17160: Fix HeartBeat
- Lazy initialization in scheduled job needed its own transaction
17146: Fix failing unit tests
- HibernateNodeDaoServiceImpl.moveNodeToStore() must invalidate parentAssocsCache now that it contains NodeRefs
17145: Fixes to patches for new CRC schema changes
- Sequenced patch.fixNameCrcValues-2 before all other patches
- Fixed typos in schema upgrade script and added CRCs for the repository descriptor nodes, so that the descriptor service and patch service can boot up
- HeartBeat initializes lazily so that it doesn't try to load information before the patch service has bootstrapped
- Made FixNameCrcValuesPatch industrial strength by using BatchProcessor to handle multi threading, progress reporting and transaction delineation
17097: Removal of spurious logs directory accidentally introduced in 17096
17096: Performance tuning for improved throughput during high volume import from LDAP directory
- Lucene indexer will now no longer index and then reindex the same node in the same transaction
- lucene.indexer.mergerTargetOverlaysBlockingFactor reduced to 1 (improves indexing performance and no excessive throttling observed during 10 hour test)
- HomeFolderManager fixed so that it pays attention to the eager home folder creation flag
- HibernateNodeDaoServiceImpl.parentAssocsCache 'upgraded' to hold information about root nodes and node refs so that recursive methods such as prependPaths can run entirely out of the cache
- Boolean argument added to getChildAssocs() so that preloading of all child nodes is optional
- qname_crc column added to alf_child_assoc to allow efficient lookup and indexing of child associations by QName. CRC of (qname_namespace, qname_localname).
- idx_alf_cass_qnln on qname_localname replaced with idx_alf_cass_qncrc (qname_crc, type_qname_id, parent_node_id)
- All node service lookup queries involving qname_localname modified to include qname_crc in WHERE clause
- schema patch provided
- existing org.alfresco.repo.admin.patch.impl.FixNameCrcValuesPatch extended to also fill in qname_crc column and forced to run on newer schemas
- Optimized ChainingUserRegistrySynchronizer so that it doesn't have to look up the entire set of authorities during an 'empty' incremental sync
- ChainingUserRegistrySynchronizer no longer starts an outer transaction around all its smaller transactions (used to die due to timeout)
- rule service disabled for LDAP batch processing threads
- org.alfresco.cache.parentAssocsCache and org.alfresco.cache.storeAndNodeIdCache size increased to 80,000
- Fixed case sensitivity issue with person caching in PersonServiceImpl
- Cache the people container in PersonServiceImpl for faster person lookups
- PersonDAO removed and replaced with now more efficient node service child assoc lookup methods
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17168 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15388: ETHREEOH-1872: Better debug logging in authentication components
- Now each authentication component logs every step of the authentication process (including reason for failure) if you switch on debug logging for that component or the entire org.alfresco.repo.security.authentication package. E.g.
log4j.logger.org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl=debug
log4j.logger.org.alfresco.repo.security.authentication.AuthenticationComponentImpl=debug
log4j.logger.org.alfresco.repo.security.authentication=debug
15196: Further LDAP sync performance improvements
- Bunch user and group creations into small transactions (except for differential sync on login)
- Run a differential sync on startup (so that bulk of users are not brought over on first login)
- Can be disabled by synchronization.syncOnStartup property
15135: Node creation / ACL performance improvements
- When an ACL was set on a leaf node such as a person, redundant 'shared' ACLs were created for child nodes with getInheritedAccessControlList(), even though no child nodes existed.
- Now setInheritanceForChildren() makes a 'lazy' call to getInheritedAccessControlList(), only when it realises there are child nodes
15133: Changes to datasource definition for improved performance
- Enable caching and reuse of prepared statements (by default 40 for each connection)
- Removed custom-connection-pool-context.xml.sample and instead introduced complete property set into repository.properties
- Updated v3.2 Wiki docs http://wiki.alfresco.com/wiki/Database_Configuration#Overriding_the_Database_Connection_Properties
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15439 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13965: Line-endings only
13967: Enable upgrade of MT env from 3.0.x to 3.1.1+ (with out-of-date config warning on startup rather than errors later)
13976: Line-endings only
13977: MT - add unit test (for dynamic models)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13980 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13314: Fix for CIFS offline sync, reconnect updated file to properties/history. ETHREEOH-1247.
13334: Added attribute to allow CIFS host announcement to be switched off via custom config. ETHREEOH-1356. Fixed bug in Windows domain name config.
13335: Changed error message to warning, and removed stacktrace, when resolving the server name.
13336: Renamed file-servers-custom.xml out of the way, to .sample2. Seems to be from an Adobe merge.
13377: Hack to enable basic CIFS IPv6 support, enabled via <tcpipSMB ipv6="enabled"/> in the xml config file.
13399: Fixed confusing debug message.
13431: Added missing parsing of 'offlineCheckInterval' parameter.
13457: Added support for file locking on in-memory pseudo files. Fix for problem with __AlfrescoClient.url files ETHREEOH-1311
13485: Added the missing CIFS sessionTimeout config value parsing.
13521: Updated file-servers.xml default config to match previous file-servers-custom.xml settings
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13762 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- iBatis resources loaded according to Hibernate dialect class hierarchy
- No longer need overrides for activities iBatis configurations
- Moved PostgreSQL, Oracle and SQLServer iBatis configs into Enterprise projects
- Removed HSQL configurations
- Split INSERT statements into DB-specific config
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13508: ETHREEOH-1548 - allow config to reset (even if null/cache)
13514: ETHREEOH-1548 (follow-on fix) - to allow config to reset (even if null/cache) and also reduce 5 caches to 1
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13695 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13659: Fix NTLMAuthenticationFilter to call super.afterPropertiesSet()
13658: MOB-424: Utility to Dump JMX Data
- new enterprise distributable jmx-dumper.jar
- command line invocation via "java -jar jmx-dumper.jar"
- admin web access via http://localhost:8080/alfresco/faces/jsp/admin/jmx-dumper.jsp
13575: Preconfigured authentication stacks for alfresco, LDAP, Kerberos and NTLM. TODO: file server config.
13493: Initial work to enable selection, configuration, testing and hot-swapping of different authentication subsystems via JMX or admin UI.
13309: Changes to allow datasource and property configuration via JNDI
- Move AVM catalina .jars into 3rd-party/lib/virtual-tomcat so that they don't get automatically included in the .war file and hence stop JNDI lookups from working
- Allow JNDI lookup of datasource – use standard app server mechanisms for managing it but still fall back to 'normal' one
- Allow properties to be overridden by JNDI env-entries as well as system properties. Including hibernate dialect ones. Web.xml can then declare required env-entries and these can be defined on deployment.
- Rewire iBatis so that no config file edits are necessary when dialect is changed
- Use proxy around datasource so that auto-commit is always activated for iBatis
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13668 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13424: ETHREEOH-1242: Sample LDAP authentication config breaks site invites in Share
13427: Fixes for ETHREEOH-1157: Propagate exceptions using ReportedException
13428: Fix ETHREEOH-1493: Upgrade from 2.1-A to 3.1 uses incorrect patch id and fixes_to_schema
13429: Specific fix for ETHREEOH-1157: duplicate/triplicate users not properly prohibited
13436: Merged V2.2 to V3.1
13435: Merged V2.1 to V2.2
12307: Merged DEV/V2.1SP7 to 2.1
11927: ETWOONE-396
12112: ETWOONE-396
13437: Fixed ETHREEOH-1498: Mismatched closing XML tag in ehcache-custom.xml.sample.cluster
13439: Fix for ETHREEOH-1157: JSF Dialogs Absorbing Exceptions
13456: Fixed ETHREEOH-1472: Changes to systemBootstrap cause bootstrapping ACP's not to work
13469: Upgrade patch to update internal version2Store counter (follow-on fix for ETHREEOH-1540)
13491: Chaining example for DOC-84
13492: Fixed paths in zip file
13494: Fixed GenericBootstrapPatch when overriding bootstrap views
13495: Added @version javadoc
13496: Minor logging updates
13497: Fixed ETHREEOH-1431: Authentication case sensitivity switch doesn't work
13500: Temporary fix for Sharepoint issue raised last week
13502: ETHREEOH-1575: It's impossible to create Change Request task
13511: Fix for ETHREEOH-1549: Impossible to create HTML web content
13529: Fix for ETHREEOH-1595
13531: Fix for ETHREEOH-1607: Error on chaining example xml - malformed comment
13537: Build fix ... exclude the system user from auto creation
13538: Build Fix - further contraints to aviod auto-creation of guest
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V2.1:r12307
Merged /alfresco/BRANCHES/V2.2:r13435
Merged /alfresco/BRANCHES/V3.1:r
13424,13427-13429,13436-13437,13439,13442-13450,13452,13454-13456,
13469-13473,13475-13476,13479-13480,13491-13500,13502,13511,13529-13538
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13619 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13484: ETHREEOH-1547: Do not set requiresNew flag and propagate exceptions in BaseDialogBean
13383: ETHREEOH-1220: Update LDAP-authentication-context to include allowGetEnabled entry to support Share
13381: ETHREEOH-1181: NTLM authentication periodically fails over CIFS - "Read-Write transaction started within read-only transaction"
13376: ETHREEOH-279: Friendly error message when cm:filename regular expression constraint is violated
13364: ETHREEOH-814: Correct character encoding issues in LDAP synchronization
13353: ETHREEOH-1444: Ability to run Alfresco from unexploded .war file with embedded license
13328: ETHREEOH-1400: Prevent TLD warnings on Weblogic startup
13183: Follow up to 13177: Fixes for Weblogic compatibility
13177: Fixes for Weblogic compatibility
13109: Build/test fix (to avoid unintentional import via application-context.xml)
13100: Checkpoint for new DM index check (enterprise-only)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13525 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
12896: Merged DEV/LIVECYCLE-3.1 to V3.1
12859: Merged V2.1-A to DEV/LIVECYCLE-3.1
9040: Fixed WebService client code to take dynamic webapp name
12865: Merged V2.1-A to DEV/LIVECYCLE-3.1
9040 integration: Added 'repository.webapp' (defaults to 'alfresco') for Webservice clients
12868: JAWS-142: Adobe LC JGroups Clustering
- JGroups communications and factories remain in 'repository' project
- JGroups EHCache integration moved to 'enterpriserepository' project
- Default factory for EHCache cluster config is aware of open-enterprise split
- Default EHCache config still works as normal
- JGroups EHCache config still enabled by setting 'alfresco.cluster.name' property
12887: Merged V2.1-A to DEV\LIVECYCLE-31
8619: Hard-coded "admin" usage in non-test classes only
12906: Re-deleted files after merge mix-up
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V3.1:r12896,12906
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Merged DEV/LIVECYCLE-3.1 to V3.1
12665: Merged V2.1-A to DEV\LIVECYCLE-3.1
8615: Cluster startup and property setting enhancements
8657: Fixed shutdown procedure for JGroups
8676: Enable system property overriding of more JGroups TCP stack properties
- ${alfresco.tcp.start_port:7800}
- ${alfresco.tcp.port_range:3}
8678: More logging of cluster view changes and channel factory config during startup
12667: Merged V2.1-A to DEV/LIVECYCLE-3.1
9188: Index recovery job only calls through if property 'alfresco.cluster.name' has been set
9197: Fixed unit test after bean property name change
12793: Merged V2.1-A to DEV/LIVECYCLE-3.1
7765: Requested mimetypes
8526: Updated Mimetypes
8610: Mimetype changes
Many branding and other non-core changes were omitted
12848: Fixed JAWS-223: Adobe LC Hibernate Dialect Loading
- Hibernate dialect can be null or empty and will be autodetected from the database metadata
- Property 'hibernate.dialect' is set on the System
- iBatis loading (activities) checks for 'hibernate.dialect'
- SchemaBootstrap checks for 'hibernate.dialect'
12854: Merged V2.1-A to DEV/LIVECYCLE-3.1
8681: Fixed mimetype 'application/photoshop'
12856: Merged V2.1-A to DEV/LIVECYCLE-3.1
9008: Fixed ADB-64: NPE when applying aspect cm:mlDocument
12857: Merged V2.1-A to DEV/LIVECYCLE-3.1
9032: ACT-2303: "Namespace is displayed in the Node browser is www.alfresco.org ...
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V2.1-A:r7765,8526,8610,8615,8657,8676,8678,9188,9197
Merged /alfresco/BRANCHES/V3.1:r12894
Merged /alfresco/BRANCHES/DEV/LIVECYCLE-3.1:r12665,12667,12793,12848,12854,12856-12857
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13518 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Merged DEV/LIVECYCLE-3.1 to V3.1
12581: Merged V2.1-A to DEV/LIVECYCLE-3.1
8675: Set FileServers configuration properties using system properties
12603: Merged V2.1-A to DEV/LIVECYCLE-3.1
8702: Added bindto as a property-enabled value
8703: Added bindto as a property-enabled value
8705: Filter out a bind to address of '0.0.0.0'
12631: Merged V2.1-A to DEV/LIVECYCLE-3.1
8551: JGroups Channel factory
12633: Merged V2.1-A to DEV\LIVECYCLE-3.1
8552: Wired in JGroups heartbeats
8554: Re-delete file
8573: Failed hearbeat still must still wait before trying again
8582: JGroups EHCache heartbeat fixes for TCP stack
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V2.1-A:r8551-8552,8554,8573,8582,8675,8702-8705
Merged /alfresco/BRANCHES/V3.1:r12893
Merged /alfresco/BRANCHES/DEV/LIVECYCLE-3.1:r12581,12603,12631,12633
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13517 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261