19472: ALF-725: Revert to using jTDS JDBC driver for SQL Server in 3.2 SP1, since the Microsoft driver doesn't work with the v3.2.r iBATIS stuff
- All example/installer alfresco-global.properties updated
- Wiki updated http://wiki.alfresco.com/wiki/Database_Configuration#MS-SQL_Databases
- Logged doc bug ALF-2144 and release note bug ALF-2145
19501:Merged DEV/BELARUS/V3.2-2010_02_24 to V3.2 (with corrections)
19243: ALF-757: Cannot start up on JBoss 5.1 due to audit configuration error
- Removed getPath() method because it is incompatible with JBoss and other app servers where resources can't be resolved to a file
- Now use Spring ResourceLoader instead of creating FileInputStream
- getLastModified() still returned where the resource resolves to a file; otherwise the server startup time
19503: (RECORD ONLY) ALF-2100: Merged HEAD to V3.2
19155: ALF-1995: Removed remaining direct dependencies on portlet API from Alfresco Explorer classes
- Moved into AlfrescoFacesPortlet
- portlet.jar was removed from alfresco.war for Liferay compatibility
19506: Merged PATCHES/V3.1.2 to V3.2
19218: (RECORD ONLY) Created hotfix branch off TAGS/ENTERPRISE/V3.1.2
19229: (RECORD ONLY) Merged V3.1 to V3.1.2
18577: Fix for ETHREEOH-4117, based on CHK-11154
19341: Merged DEV/BELARUS/V3.1-2010_02_05 to PATCHES/V3.1.2 (with corrections)
19156: ALF-1906: splitPersonCleanUpBootstrapBean is not able to remove duplicated users
Also
- improved detection of 'split' persons
- added unit tests for person splitting and deleting
- fixed duplicate person caching and sorting problems
- prevented onUpdateProperties from firing needlessly in PersonServiceImpl and AuthorityDAOImpl when persons and authorities are created initially
19342: (RECORD ONLY) Incremented version number
19508: Merged PATCHES/V3.2.0 to V3.2
18762: (RECORD ONLY) Created hotfix branch off V3.2.0-ENTERPRISE-FINAL
18789: (RECORD ONLY) Merged BRANCHES/V3.2:r17905,18254,18319 to PATCHES/V3.2.0
r17905 | markr | 2010-01-06 16:55:12 +0000 (Wed, 06 Jan 2010) | 3 lines
ETHREEOH-3809 - WCM - First test server deploy fails.
added yet another transaction to read the previous snapshot transaction.
added a new system test based upon the WCM services. The beginnings of testing against layered authored sandboxes.
r18254 | janv | 2010-01-22 18:15:43 +0000 (Fri, 22 Jan 2010) | 1 line
WCM/AVM - ETHREEOH-2057 (Submitting WCM Content through WF JSF Error - due to AVM Sync issue)
r18319 | royw | 2010-01-27 12:18:27 +0000 (Wed, 27 Jan 2010) | 4 lines
Merged BRANCHES/DEV/BELARUS/V3.2-2010_01_11 to V3.2
18273: ETHREEOH-3834: WCM: An extral .xml.html file is created when editing newly created content
18822: (RECORD ONLY) Merged DEV_TEMPORARY to PATCHES/V3.2.0
18478: SAP XForms errors - ACT 15969
18699: ETHREEOH-4171: HTTP 500 when filling in a WCM webform - ACT 15969
18842: (RECORD ONLY) Merged V3.2 to PATCHES/V3.2.0
18701: Merged DEV_TEMPORARY to V3.2
18693 : ETHREEOH-4182: ASR deployer fails to set the contentUrl of documents on the target system
- Merged in fix related to closing output streams.
- Increased coverage of unit test.
18854: (RECORD ONLY) Merged V3.2 to V3.2.0
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
18272: Merged DEV/BELARUS/V3.2-2010_01_11 to V3.2
18257: ETHREEOH-4002: User/Group sync does not handle LDAP communication failures
- Merged with corrections
18276: ETHREEOH-4002: Correction to previous checkin - modification dates are only persisted after successful processing of users and groups, so need to delete them on comms failure
18340: ETHREEOH-4069: LDAP sync cannot resolve DNs containing a slash character
- Due to JNDI interpreting the slash character as a separator
18403: ETHREEOH-4008: LDAP sync should preserve case of group members
- Was incorrectly extracting attributes from lower-cased DN
18846: ETHREEOH-4233: LDAP sync now synchronizes group display names
- New ldap.synchronization.groupDisplayNameAttributeName property provides name of LDAP attribute
18877: (RECORD ONLY) Merged /alfresco/BRANCHES/V3.2:r18616
r18616 | markr | 2010-02-12 14:08:52 +0000 (Fri, 12 Feb 2010) | 1 line
ETHREEOH-4181 - Access denied exception when deploying via avm deployment receiver
19319: ALF-2043: User ID case sensitivity issues with Sharepoint Connector and External Authentication Subsystem
- DefaultRemoteUserMapper and AlfrescoUserGroupServiceHandler should use personService.getUserIdentifier() to 'normalize' a username according to case sensitivity settings
- NtlmAuthenticationHandler should also leave the normalization to personService
19320: (RECORD ONLY) Incremented version label
19380: ALF-2043: Revisit user ID case sensitivity in DefaultRemoteUserMapper
- Has to use public PersonService in case it is accessed outside of a transaction
- Fixed regular expression matching
- Added unit tests to try out all the remote user mapper options
19509: Merged PATCHES/V3.2.r to V3.2
18803: (RECORD ONLY) Created hotfix branch off V3.2.r-ENTERPRISE-FINAL
18833: (RECORD ONLY) Turn on Repo Doclib by default
19054: (RECORD ONLY) Merging V3.2 to PATCHES/V3.2.r
18787: MT: fix ETHREEOH-4125 - authority migration / batch processor (when upgrading groups from 3.1 to 3.2)
19358: (RECORD ONLY) Merged DEV/BELARUS/V3.2-2010_01_11 to PATCHES/V3.2.r
18699: ETHREEOH-4171: HTTP 500 when filling in a WCM webform
19447: (RECORD ONLY) Incremented version label
19518: ALF-757: Corrected audit config resource URL so that it resolves inside Tomcat as well as JUnit!
19525: ALF-708: Use BatchProcessor to process duplicate persons in small batches in SplitPersonCleanupBootstrapBean
- Even tested in a unit test!
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19536 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- undeleted and reinstated use of org.alfresco.util.Pair
- undeleted org.alfresco.util.PropertyCheck which is used in the deployment code.
- undeleted other org.alfresco.util.* classes which probably should never have been moved to spring surf.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19312 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
19251:Merged V3.2.0 to V3.2
19224: ALF-1999: Alfresco Explorer Group searches by display name now make correct use of AuthorityService
19111: Final part of fix for ALF-1934 - show group 'display name' rather than group 'identifier'
19088: Merged DEV/TEMPORARY to HEAD
19005: Group Admin Scalability (SAP) implementation
19078: ALF-1934: change the behaviour of 'Manage User Groups' similar to 'Manage System Users'
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- optional parentAuthority argument - when set will only search for authorities under a given group
- optional immediate flag - when false means do a recursive search. When true means only return first level. When true and parentAuthority is null means root groups.
- search expression - which is tested against the short name and the display name
- reworked all existing calls for new semantics
- this method is for UI search only - not for existence checking!
- removed some ill-informed calls
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19203 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
17246: ETHREEOH-3208: User profiles for users authenticated by immutable subsystems are now read only
- Introduced MutableAuthenticationService interface, only implemented by Alfresco native authentication service
- Split out those methods from AuthenticationService that mutate the user store and added isAuthenticationMutable()
- Now both Alfresco Explorer and Share user profile / password edit link rendering is conditional on isAuthenticationMutable
- Works with authentication chain containing mixture of internally and externally authenticated users
17247: Fix failing unit tests
- rm-public-services-security-context.xml needed to be brought in line with public-services-security-context.xml (and will forever more!)
17248: ETHREEOH-1593: alfUser cookie value should be base 64 encoded to allow for non-ASCII characters
17253: *RECORD ONLY* ETHREEOH-2885: web.xml must conform to the schema to work on JBoss
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18098 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
16939: Merged V3.1 to V3.2
16938: ETHREEOH-622: AuthorityServiceImpl uses userNameMatcher to check for admin users according to case sensitivity settings
16934: ETHREEOH-2584: Coding error in BaseSSOAuthenticationFilter
16924: LDAP Performance
- Created NodeService addChild variants that can add associations to multiple parents (groups/zones) at the same time with a single path check.
- Created AuthorityService addAuthority variant that can add an authority to multiple groups at the same time, using the above
- Optimized group association creation strategy. Groups and Persons created in 'depth first' order (root groups first, parents last). Prevents the nodes having to be reindexed.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17070 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17002: Merged V3.2 to V3.2
14187: (record-only) Fix for ETHREEOH-2023: LDAP import must lower case the local name of the association to person.
14941: Merged V2.2 to V3.1
14830: Fix for ETWOTWO-389: Alfresco will not fix up all the permissions if the UID is changed
14849: Build Fix: Remove the constraint to avoid the creation of duplicate users (it stops permission assignment before user creation)
14867: Build Fix: Disable tests for concurrent creation of groups and people (it leaves an odd group around and is not currently used)
14880: More for ETWOTWO-389: restrict fix ups for uid/gid to case changes only. Other changes are rejected.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
16780: Fix failing unit test
- HeartBeat now needs to be constructed inside a transaction.
16765: Merged DEV/BELARUS/V3.2-2009_10_05 to V3.2
16754: ETHREEOH-2534: SPP does not authenticate when authentication chain contains both alfrescoNtlm and passthru types.
- NTLM Authentication handler for Sharepoint module was implemented as singleton. But after it was integrated into Alfresco Authentication Subsystem, instance of this object is created for each type of NTLM authentication. As result static field with NTLM flags was rewrited for each instance. Bug was resolved by removing static indicator.
16751: LDAP sync improvements
- Correction to the way retried transactional errors are reported
- Addition of unit test for synchronization with a mock user registry generating a large volume of users, groups and associations
16749: Removed UserUsageBootstrapJob from scheduled jobs and moved UserUsageTrackingComponent to bootstrap
- files missed from CHK-9619
16748: User Usage Tracking Component bootstrapped synchronously to avoid its expensive queries across all users 'stepping on top of' other bootstrap activity such as LDAP synchronization
- Its startup messages are no longer masked out by log4j.properties
- Logged ETHREEOH-3009 regarding upgrade impact of new faster queries
16747: Lower impact of HeartBeat service on server performance
- More efficient AuthorityService APIs used to determine the total number of groups and users more efficiently
- Queries of all users and groups done synchronously at startup only
16746: Improvements for faster user and group lookup and association on a large repository (unfortunately intertwined)
- NodeService getChildAssocRefsByTypeQNames query rewritten to use a subquery to force a more logical evaluation order on MySQL
- NodeService getChildAssocs method made to use more efficient getChildAssocRefsByTypeQNames DAO call when a type qname but no assoc qname is specified
- NodeService getUsersWithoutUsage / getUsersWithUsage queries rewritten to avoid an expensive outer join on all users
- PersonService getPersonIgnoreCase query corrected to include the type QName ID of the child associations it is querying (thus avoiding unnecessarily triggering duplicate person removal)
- PersonService now supports an optional boolean argument to getPerson that indicates whether the auto-create + home folder creation behaviour should be triggered.
- AuthorityDAOImpl now uses false argument to getPerson call to avoid lazy home folder creation during creation of group associations
- AuthorityDAOImpl now specifies assoc type to getChildAssocs in getAllAuthoritiesInZone and findAuthorities calls so that the more efficient query variant is used
- Redundant personExists() call removed from authorityServiceImpl
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16914 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15154: Performance optimization for AuthorityDAO - based on 3.1E Share use case analysis.
- improves performance for create, find and general get of authorities via the DAO
- also potentially improves LDAP import etc. - anything that goes via Zones
- takes 3.2E performance ahead of 3.1E performance for Share use case (20,000 user and 2,000 site DB upgraded from 3.1.1E)
15447: Static asset web filter added to web.xml for Explorer client and Share webapp.
- Adds a 30 day public cache expiry header (configurable) to all static assets for performance and proxy usage
- Also prevents browsers such as IE causing conditional GET requests for images etc. on restart of the browser
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16846 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- migration patch uses non-public authority service
- root authority query ignores deleted nodes
- avoid exception for getContainingAuthorities("System")
- update unit test to cope with corrected EMAIL_CONTRIBUTORS group and slight difference in behaviour with root authorities
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14609 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
14587: Added new node service method getNodesWithoutParentAssocsOfType to public-services-security-context.xml (or at least my best guess at it!)
14586: Use US spelling of synchronization in filenames for consistency
14585: Lower the default user registry sync frequency to daily instead of hourly. Now users and groups are pulled over incrementally on login of missing users.
14583: Unit test for ChainingUserRegistrySynchronizer
14571: Migration patch for existing authorities previously held in users store
- Uses AuthorityService to recreate authorities in spaces store with new structure
14555: Authority service changes for LDAP sync improvements
- Moved sys:authorities container to spaces store
- All authorities now stored directly under sys:authorities
- Authorities can now be looked up directly by node service
- Secondary child associations used to model group relationships
- 'Root' groups for UI navigation determined dynamically by node service query
- cm:member association used to relate both authority containers and persons to other authorities
- New cm:inZone association relates persons and authority containers to synchronization 'zones' stored under sys:zones
- Look up of authority zone and all authorities in a zone to enable multi-zone LDAP sync
14524: Dev branch for finishing LDAP zones and upgrade impact
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14588 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Bug fix invitation service was approving too many invitations!
Implemented security rules for who is allowed to cancel a moderated invitation.
Continuing implementation of group authority scripts.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13815 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
13249: Fix for ETHREEOH-1064 and ETHREEOH-1286 and fix for issue where New Page action not activated in Share Wiki page list.
13251: Final part of fix for ETHREEOH-1270 - Group pickers in JSF client now use new findAuthorities() API to find groups for user searches - over 10x quicker for installations with many groups.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13580 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
13207: Rhino JAR update (System.out warning removal patch applied)
13240: Part of fix for ETHREEOH-1270
- Authority service has an API to search for groups by name patterns (not other authority types)
- it uses lucene so relies on the index
13242: Fix for ETHREEOH-1303 - Calendar events now only retrieved for the current site when rendering a site specific calendar component.
Some code tidy up and related fixes.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13573 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261