17717: This check-in contains changes in Java and .NET TCK tests related to CMIS-43 and CMIS-44 JIRA tasks. Also some bugs were faced out and fixed in
17727: CMIS-69: Alfresco to CMIS ACL mapping: Part 1: API
17732: Merge HEAD to DEV/CMIS10
17756: MOB-563: SQL Tests - Lexer
17764: CMIS-69: Alfresco to CMIS ACL mapping: get ACL support
17802: More for CMIS-69: Alfresco to CMIS ACL mapping. Implementation for applyAcl.
17830: Fixes for CMIS lexer and parser tests
17838: Access fix ups for access by the WS/Rest layers
17869: 1) remote-api:
17874: SAIL-146: Alfresco to CMIS ACL mapping: Support to group ACEs by principal id
17883: Adjust version properties for dev/cmis10 branch.
17885: Update OASIS CMIS TC status.
17889: Fix issue where objectid is not rendered correctly for CMIS private working copies.
17890: SAIL-146: Alfresco to CMIS ACL mapping: Fixes for ACL merging when reporting and ordering of ACEs. Report full permissions and not unique short names.
17902: Fix issue where CMIS queries via GET used incorrect defaults for paging.
17909: Fix CMIS link relations for folder tree.
17912: Fix CMIS type descendants atompub link
17922: Update AtomPub binding to CMIS 1.0 CD05 XSDs.
17924: SAIL-146: Alfresco to CMIS ACL mapping: Test set using full permissions (as opposed to short unique names)
17927: Fix content stream create/update status to comply with CMIS 1.0 CD05.
17934: Resolve encoding issues in CMIS AtomPub binding.
17973: SAIL-171: CMIS Renditions REST binding
17975: SAIL-146: Alfresco to CMIS ACL mapping: Completed AllowedAction and Permissions mapping. Added missing canDeleteTree.
17990: Update CMIS AtomPub to CD06
17996: Updates for cmis.alfresco.com for CD06 in prep for public review 2.
18007: WS-Bindings were updated with CMIS 1.0 cd06 changes.
18016: CMIS web services: Add missing generated files from WSDL
18018: CMIS index page updates for cmis.alfresco.com
18041: Merged HEAD to DEV/CMIS_10
18059: SAIL-227:
18067: SAIL-157: Strict vs Non-Strict Query Language: Enforce restrictions on the use of SCORE() and CONTAINS()
18080: Fix for SAIL-213:Bug: Query engine does not check that select list properties are valid for selectors
18131: SAIL-156: Query Language Compliance: Fix support for LIKE, including escaping of '%' and '_' with '\'.
18132: SAIL-156: Query Language Compliance: Fix support for LIKE, including escaping of '%' and '_' with '\': Fix underlying lucene impl for prefix and fuzzy queries to match wildcard/like
18143: SAIL-156: Query Language Compliance: Fix and check qualifiers in IN_TREE and IN_FOLDER. Improved scoring for CONTAINS()
18173: SAIL-245: Exclude thumbnails from normal query results
18179: SAIL 214: Query Language Compliance: Check for valid object ids in IN_FOLDER and IN_TREE
18210: SAIL-156: Query Language Compliance: Support for simple column aliases in predicates/function arguments/embedded FTS. Check property/selector binding in embedded FTS.
18211: SAIL-156: Query Language Compliance: Support for simple column aliases in predicates/function arguments/embedded FTS. Check property/selector binding in embedded FTS.
18215: SAIL 156: Query Language Compliance: Fix CMIS type info to reflect the underlying settings of the Alfresco type for includeInSuperTypeQuery
18244: SAIL 156: Query Language Compliance: includeInSuperTypeQuery -> includedInSuperTypeQuery: First cut of cmis query test model. Fixed modelSchema.xml to validate
18255: SAIL 156: Query Language Compliance: First set of tests for predicates using properties mapped to CMIS Strings.
18261: CMIS-49 SAIL-163: Alfresco to CMIS Change Log mapping - New CMIS Audit mapping is implemented. ChangeLogDataExtractor was added.
18263: Build Fix
18285: SAIL 156: Query Language Compliance: Restrictions on predicates that may be used by single-valued and multi-valued properties
18287: SAIL-186: Changes to make CMIS Rendition REST bindings pass new TCK tests
18291: Fix Eclipse classpath problems
18323: CMIS-44 SAIL-187: Change Log tests (WS) – Java and .NET tests for change log were implemented.
18325: SAIL 156: Query Language Compliance: Fixes and tests for d:mltext mappings
18329: Updated Chemistry TCK jar including Dave W's rendition tests.
18333: Fix compile error - spurious imports.
18334: Fix issue where absurl web script method failed when deployed to root context.
18339: Update CMIS index page for start of public review 2.
18387: SAIL-147: CMIS ACL REST bindings + framework fixes
18392: Fix typo
18394: SAIL 156: Query Language Compliance: Fixes and tests for d:<numeric>
18406: SAIL 156: Query Language Compliance: Remaining type/predicate combinations. Restriction of In/Comparisons for ID/Boolean
18408: CMIS Query language - remove (pointless) multi-valued column from language definition
18409: Formatting change for CMIS.g
18410: Formatting change for FTS.g
18411: CMIS TCK tests were updated to CMIS 1.0 cd06 schemas.
18412: SAIL 156: Query Language Compliance: Tests and fixes for aliases for all data types in simple predicates (they behave as the direct column reference)
18417: Update Chemistry TCK which now incorporates Dave W's ACL tests.
18419: Update CMIS index page to include public review end date.
18427: SAIL 156: Query Language Compliance: Expose multi-valued properties in queries. Tests for all accessors. Fix content length to be long.
18435: SAIL 156: Query Language Compliance: Use queryable correctly and fix up model mappings. Add tests for baseTypeId, contentStreamId and path.
18472: SAIL 156: Query Language Compliance: Tests and fixes for FTS/Contains expressions. Adhere strictly to the spec - no extensions available by default. Improved FTS error reporting (and stop any recovery).
18477: SAIL-164: CMIS change log REST bindings
18495: SAIL 156: Query Language Compliance: Tests and fixes for escaping in string literals, LIKE and FTS expressions.
18537: SAIL 156: Query Language Compliance: Sorting support. Basic sort test for all orderable/indexed CMIS properties.
18538: SAIL-164: CMIS change log fixes for TCK compliance
18547: SAIL 156: Query Language Compliance: Ordering tests for all datatypes, including null values.
18582: Incorporate latest Chemistry TCK
18583: Update list of supported CMIS capabilities in index page.
18606: SAIL-156, SAIL-157, SAIL-158: Query Language Compliance: Respect all query options including locale. Fixes and tests for MLText cross language support.
18608: SAIL-159: Java / Javascript API access to CMIS Query Language
18617: SAIL-158: Query Tests: Check policy and relationship types are not queryable.
18636: SAIL-184: ACL tests (WS)
18663: ACL tests were updated in accordance with last requirements by David Caruana.
18680: Update to CMIS CD07
18681: Fix CMIS ContentStreamId property when document has no content.
18700: CMIS: Head merge problem resolution.
Phase 1: Merge up to and including revision 18700, as this the point where both AtomPub and Web Services TCK tests succeed completely on dev branch.
Note: includes CMIS rendition support ready for integration and testing with DM renditions.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18790 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
18157: ETHREEOH-3787: Support portal URL rewriting within surf webscripts
- WebScriptServletResponse extended to use portlet helper to rewrite URLs when running in context of a portlet. (We can't use WebScriptPortletRequest / Response because we need the full servlet runtime for Surf.)
- CMIS test webscripts corrected to be portlet enabled
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
18326: ETHREEOH-3873: usr:authorityContainer type metadata must be left in place for upgraded repositories
- Otherwise you get errors when re-indexing the migrated group nodes
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
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18433 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17620: Merged DEV_TEMPORARY to V3.2
17599: Fix for ETHREEOH-3308: xf:switch cannot be used in repeating field type
17634: Put back AVM concurrency checks (reverse r17405)
17644: Fixed up some comments and added return value to in-txn recording of deleted nodes
17647: Fixed read-only detection of ContentStoreCleaner
17648: Merged DEV fixes for ETHREEOH-3473 and ETHREEOH-3454 - DB script and iBatis-related changes
17649: Fixed problem after merge-in: ETHREEOH-3641: build 270: cannot install on PostgreSQL
17652: Fix ETHREEOH-3376 - Reindexer failure: requires rollback (Cluster)
17658: Removed failing concurrency test for split person cleanup
17659: Merged V3.1 to V3.2
17308: Fixed ETHREEOH-2310: Upgrade from 2.1 E Sp7 to 3.1.1 E build 225 - Duplicate alf_node_status entries detected
Fixes ETHREEOH-3606 (same as CHK-10454)
17661: Fixed DB2 iBatis problems related to http://issues.apache.org/jira/browse/IBATIS-536
17666: ETHREEOH-3376 / ETHREEOH-3637 - reindexer failure in a cluster (dictionary repo bootstrap)
17678: Follow-on to r17666 (for RM custom model)
17685: Merged DEV_TEMPORARY to V3.2
17676: ETHREEOH-3187: Creating Web Content based on Web Form with most elements-read-only/default failed
17695: Temporarily comment-out testSubmitChangedAssets1
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/DEV/BELARUS/V3.2-2009_11_24:r17632,17636,17676
Merged /alfresco/BRANCHES/DEV/BELARUS/V3.2-2009_11_09:r17599
Merged /alfresco/BRANCHES/V3.1:r17308
Merged /alfresco/BRANCHES/V3.2:r17620,17634,17644,17647-17649,17652,17658-17659,17661,17666,17678,17685,17695
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18165 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Auto-reformat added 20 minutes of work!
17456: Fix for: ETHREEOH-1465: It's impossible to get the login history for a given user (Audit)
17463: Fixed ETHREEOH-3363: CLONE -Regression: readOnly settings causing bootstrap to fail
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18144 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
17410: Merged V3.1 to V3.2
16667: (record-only) Fix ETHREEOH-2477 - group-based perms (MT env)
16883: Fix ETHREEOH-1544 - cannot paste an item, if cut from another web project (modifyLock errror)
16918: Fix ETHREEOH-3053 - Deployment of non-stale file in a stale layered folder removes the file from FSR
16947: (record-only) Temporarily comment-out testSubmitChangedAssets1 (intermittent permission failure)
17162: Fix ETHREEOH-2850 - submitting delete of (web form) xml instance does not submit the associated deleted renditions
17319: Fix ETHREEOH-3111 - ManageReviewTaskDialog (fix-up contributed patch)
17418: Merged V3.1 to V3.2
17141: Fix ETHREEOH-3088: Cut/Paste into self causes stack overflow
17216: Fixed ETHREEOH-3170: DB errors on MSSQL with Snapshot Isolation enabled while CIFS copying
17255: Fixed ETHREEOH-3180: Error appears when trying to search resources on Manage Task page
17419: Fix for ETHREEOH-3296: Enterprise 3.X / Permissions Error When Cut & Paste on Sub-Folder
17421: Review and tweaks of DB script port
17423: Follow-on for ETHREEOH-3088
17424: Missed check-in for ETHREEOH-3032 (CHK-10240)
17437: ETHREEOH-2790 - OpenOffice-startup-context.xml needs to also initiate the connection to OpenOffice
17441: Build fix: Fix AVM permission inheritance to match DM and fix common permission dao component
17470: Fix for ETHREEOH-3350: Admin Console - Viewing user properties for user without home folder throws exception
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V3.1:r16667,16883,16918,16947,17141,17162,17216,17255,17319
Merged /alfresco/BRANCHES/V3.2:r17410,17418-17419,17421,17423-17424,17437,17441,17470
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18137 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17429: Fixed ETHREEOH-2319 "Share - Sticky image or videos in web view"
17435: Fixed EETHREEOH-3325 "Add group button is disabled on Admin Console - New User page"
17445: Fixed ETHREEOH-3306 "Large number of root groups causes Groups admin tool to lockup the sever and Share"
- Search panel is now the default panel and the loading of root groups only occurs if you click the "Browse" button and change to the browse panel
17446: Fix for unreported issue where the InMemoryTicketComponent did not check for null value from ticketsCache.
Can occur on tomcat sesson expire and caused NPE to be logged.
17449: Merged V3.1 to V3.2
17257: *RECORD ONLY* Merged V3.2 to V3.1
13685: ACT 8490 - TinyMCE fails if told to load unsupported language (interim fix only) (ETHREEOH-1615)
17372: First part of fix for ETHREEOH-2519.
17448: Merged DEV-TEMPORARY to V3.1
17390: ETHREEOH-1619: Letters and special symbols can be typed in Date value of property while creation of Content Rule and it leads to error
17391: ETHREEOH-1058: It is possible to send invite email message with no subject from Web Project Wizard Step Seven - Email Users page
ETHREEOH-1060: It is possible to send empty invitation email from Web Project Wizard Step Seven - Email users page
17452: Fixed ETHREEOH-3306 "Large number of root groups causes Groups admin tool to lockup the sever and Share" part 2
- A "no result"-message was displayed to the user even though no search had been performed, now replaced by a usage message
17453: Fixed ETHREEOH-2329 " Search doesn't work correctly on Groups page"
17454: Fix for ETHREEOH-3084 - Error message appears in My Web Files part of My Alfresco Dashboard after configuring of the dashboard.
- added new JavaScript and Template APIs to retrieve child nodes of a specific type - using fast direct DB NodeService call.
17455: Fixed ETHREEOH-2329 " Search doesn't work correctly on Groups page" part 2
- Added the prefix "*" to admin console group search as well to make it consistent
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18122 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
17475: ETHREEOH-3295: Fix to AuthorityMigrationPatch
- Forces transaction retry if worker thread reaches child authority before a parent authority
- Tested on Kev's 3.1.1 repository with ~20,000 bulk loaded users and ~2,000 Share sites
- Now completes in 5 minutes as opposed to 45
17461: ETHREEOH-3268: Added MutableAuthenticationService.isAuthenticationCreationAllowed () to allow conditional display of external user invitation UI
17450: ETHREEOH-2762: Correction to previous fix. Do not generate new name when working copy copied back on check in.
17440: ETHREEOH-3295: Fixed logging in FixNameCrcValuesPatch
17439: ETHREEOH-2762: Improved behaviour when a working copy is copied
- Working copy aspect already removed the working copy aspect on copy
- Now derives a new name from the node checked out from and a UUID, preserving the extension
17438: ETHREEOH-2690: Fix sequencing of jgroups system property setting
- declared dependency between internalEHCacheManager and jgroupsPropertySetter
17436: ETHREEOH-3295: Further performance improvements to AuthorityMigrationPatch
- authority created at same time as all its parent associations to save lots of reindexing, as per LDAP sync
- multi-threaded BatchProcessor (as used by LDAP sync, FixNameCrcValuesPatch) used to process work in 2 threads in batches of 20, report progress every 100 entries and handle transaction retries
- BatchProcessor now promoted to its own package
17394: Fix for license issue in local enterprise builds.
- Replace Community with Enterprise in version.properties during enterprise war building
17365: ETHREEOH-3229: Visited and fixed all SearchService result set leaks
17362: ETHREEOH-3254: Eliminate needless ping to LDAP server in LDAPAuthenticationComponentImpl.implementationAllowsGuestLogin()
17348: ETHREEOH-3003: Fix NPE in Hyperic when LicenseDescriptor has null fields
17316: Merged V3.1 to V3.2
17315: ETHREEOH-3092: PersonService won't let you create duplicate persons anymore.
17314: ETHREEOH-3158: Fix RepoServerMgmt to work with external authentication methods
- AuthenticationService.getCurrentTicket / getNewTicket now call pre authentication check before issuing a new ticket, thus still allowing ticket enforcement when external authentication is in use.
17312: ETHREEOH-3219: Enable resolution of JMX server password file path on JBoss 5
17299: Merged V3.2 to V3.1 (Record only)
17297: ETHREEOH-1593: Changed name of username cookie and fixed login.jsp to decode it properly
17248: ETHREEOH-1593: alfUser cookie value should be base 64 encoded to allow for non-ASCII characters
17297: ETHREEOH-1593: Changed name of username cookie and fixed login.jsp to decode it properly
- thanks Kev!
17292: ETHREEOH-1842: Ticket association with HttpSession IDs tracked so that we don't invalidate a ticket in use by multiple sessions prematurely
- AuthenticationService validate, getCurrentTicket, etc. methods now take optional sessionId arguments
17269: Fix failing unit test
- reinstate original behaviour of AbstractChainingAuthenticationService.getAuthenticationEnabled()
17268: Fix InvitationService
- Runs as system to do privileged AuthenticationService actions
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18105 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
17667: Branch for SpringSurf integration - from HEAD r17665
17668: Fix to ensure included scripts files are not loaded from a cached classpath loader.
17670: Part 1 of SpringSurf integration - changes relating to spring-surf-core-1.0.0.CI-SNAPSHOT.jar
17674: Part 2 of SpringSurf integration - changes relating to spring-surf-core-configservice-1.0.0.CI-SNAPSHOT.jar
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17788 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15422: Fix deploy-virtual-tomcat macro for Spring 3
15391: Fix ContentStoreReplicatorTest for Spring 3
15390: Upgrade CXF to version 2.2.2 for Spring 3 compatibility
15385: Correction to previous checkin
15384: Fix ClassPathStore.createRelative() to work with Spring 3
- Relative resource path resolution with directory resources has changed
15346: Merged V3.3_SPRING3 to SPRING3
15310: Spring 3: Change to the way that FileContentStore broadcasts its existence to interested parties (for enterprise-only monitoring)
- Introduced new SafeEventPublisher singleton that queues up events until after the application context has finished refreshing
15309: Use AUTODETECT_NONE auto detect mode for JMX exporters to be compatible with Spring 3
15308: Fix IBATIS integration to be compatible with Spring 3
15307: Added missing runtime dependencies
- org.springframework.expression-3.0.0.RC2.jar
- org.springframework.asm-3.0.0.RC2.jar
15289: Move Alfresco stack to Spring 3
- Stage 1: get it compiling in eclipse and update ant scripts
- Still requires Web Framework contributions from Uzi
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17624 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17462: ETHREEOH-3346: New meaning to synchronization.synchronizeChangesOnly property
- In the LDAP sync performance optimizations we always used the differential queries to determine the users and groups to be updated. Deletions were determined by a separate query.
- This meant that if you ever did want to force the update of all users it wasn't possible.
- So now when the flag is false it means don't use differential queries in the scheduled sync job.
- The scheduled job now processes deletions regardless.
- The default value for the property is now true.
17431: ETHREEOH-3274: Refix NTLM support for share
- Fixed NPE introduced by ETHREEOH-2767
- Made web.xml validate against schema for JBoss
- Reintroduced missing open comment in webscript-framework-config-custom.xml.sample
17426: ETHREEOH-2997: Fix ticket parameter passing into NTLM/Kerberos WebDAV authentication filters
- A NPE was stopping it from working
17425: ETHREEOH-3282: Fixed NPE preventing upload from working with NTLM SSO enabled
17368: ETHREEOH-3197: Use utf8_bin collation in MySQL out of the box to avoid problems with comparison of accented characters
17361: ETHREEOH-3276: Don't attempt to start an LDAP sync when the repository is read only
17347: ETHREEOH-3206: Fix LocalFeedTaskProcessor to work with JBoss 5
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17464 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
17171: Possible fix to latest intermittent concurrency issues in V3.2 build
- PersonTest needs to do its ref checking in a new transaction and concurrent hash map used for thread safety
- Thread safety of ReaderManagementPool singleton
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17173 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
16674: Fix for ETHREEOH-2867: Deadlock issues experienced with PermissionModel where CPU thrashing was observed addressed by changing ConcurrentHashMap and Collections.synchronizedMaps instead of Hashmaps
16678: Build Fix (Remove Java 6 constructors for ConcurrentHashMap)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@17008 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
16652: Fix ETHREEOH-1052 - usage is not displayed (for admin & guest - after initial bootstrap, before restart)
16778: Fix ETHREEOH-3009 - Patch required for UserUsageTrackingComponent so that new queries work on upgraded repository
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16922 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
16662: LDAP sync: improved group association filtering, referential integrity checking, deletion strategy and performance tuning of batch sizes
16648: ETHREEOH-2752: Improved ticket validation fix
- Invalidate user's tickets during person deletion rather than validation or it can mess up chained validation
16647: ETHREEOH-2534: Fixed Sharepoint NTLM authentication
- user details were never getting cached in the session
16579: Small improvement to LDAP error reporting
- Committed errors counted before successes in a logging interval
16515: LDAP sync performance
- Improved full sync strategy - run differential queries to work out required updates/additions and full queries to work out required deletions. Saves updating unchanged nodes.
- Use a TreeSet rather than a HashSet to gather group associations in an attempt to avoid blowing the heap size
16498: More LDAP performance improvements
- Uses thread pool with 4 worker threads and blocking queue to process returned results. The number of worker threads can be controlled by the synchronization.workerThreads property.
- Switched LDAP connection pooling back on again
- Group Associations processsed individually so that errors are collated and we get a better idea of their throughput
- Fixed potential bug. Group membership resolution done with isolated LDAP context to avoid cookies from paging creeping in.
16424: Try switching off LDAP connection pooling to see if it works better with our flaky server.
16414: Further LDAP fault tolerance
- Log causes of group member resolution failures where possible
16413: More fault tolerance for LDAP sync
- Always commit last sync times before overall sync is complete to avoid the 'forgetting' of differential sync information
- DN comparisons should be case insensitive to avoid issues resolving DNs to user and group IDs
16398: Improved monitoring and fault tolerance for LDAP sync
- When the batch is complete a summary of the number of errors and the last error stack trace will be logged at ERROR level
- Each individual error is logged at WARN level and progress information (including % complete) is collated and logged at INFO level after a configurable interval
- In the Enterprise Edition all metrics can be monitored in real time through JMX
- Sanity testing to be performed by Mike!
16319: Merged HEAD to V3.2
16316: ALFCOM-3397: JBoss 5 compatibility fix
- Relative paths used by LDAP subsystem configuration weren't being resolved correctly
- See also https://jira.jboss.org/jira/browse/JBAS-6548 and https://jira.springsource.org/browse/SPR-5120
16272: ETHREEOH-2752: Once more with feeling!
16261: ETHREEOH-2752: Correct exception propagation.
16260: ETHREEOH-2752: Fix ticket validation
- Current ticket was getting forgotten by previous fix
- Person validation in CHECK mode now done AFTER the current user is set, so that the current ticket is remembered
16243: ETHREEOH-2752: Improve ticket validation used by all authentication filters
- Now takes into account whether person actually exists or not
- Tickets for non-nonexistent persons are now considered invalid and cached session information is invalidated
- New BaseAuthenticationFilter superclass for all authentication filters
- Improved fix to ETHREEOH-2839: WebDAV user is cached consistently using a different session attribute from the Web Client
16233: ETHREEOH-2754: Correction to previous checkin.
- relogin for SSO authentication, logout for normal login page
- logout is default
16232: ETHREEOH-2754: Log Out Action outcome passed as a parameter
- relogin for SSO authentication, login for normal login page
- Means the log out link always leads to the correct place, even when the session has expired
- Also lowered ticket validation error logging to DEBUG level to avoid unnecessary noise in the logs from expired sessions
16220: ETHREEOH-2839: Fixed potential ClassCastExceptions when Alfresco accessed via WebDAV and Web Client links in same browser
- WebDAV side no longer directly casts session user to a WebDAVUser
- ContextListener no longer casts session user to web client user
- Web client side will 'promote' session user to a web client User if necessary via AuthenticationHelper
- All authentication filters made to use appropriate AuthenticationHelper methods
16211: ETHREEOH-2835: LDAP sync batches user and group deletions as well as creations
- Also improved logging of sync failures
16197: ETHREEOH-2782: LDAP subsystems now support search-based user DN resolution
- When ldap.authentication.userNameFormat isn't set (now the default) converts a user ID to a DN by running ldap.synchronization.personQuery with an extra condition tacked on the end to find the user by ID
- Structured directories and authentication by attributes not in the DN such as email address now supported
16189: ALFCOM-3283: Prevent errors when user accepts an invite when not logged in
- new isGuest attribute propagated to user object
- header component (used by accept-invite page) needs to avoid calling prefs and site webscripts for guest user
- Conditional stuff in header template changed to use user.isGuest
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16896 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15888: ETHREEOH-2617: CIFS Authenticators should not try to initialize when disabled
- removed init-method declaration from cifsAuthenticatorBase
15731: ENH-524: Use JobLockService to ensure that it is only possible for LDAP sync to run on one node at a time in a cluster
- Ensures that if schedule is identical on all nodes, the LDAP sync will only be run on one
15694: Fix TransactionServiceImplTest broken by 15685
15685: ETHREEOH-983: Move RepoServerMgmt JMX editable capabilities into a sysAdmin subsystem for more consistent control and cluster support
- New SysAdminParams interface exported by sysAdmin subsystem through which AuthenticationService and TransactionService get at the configured parameters
- The repository read only flag does not apply to the system user so that we can still persist changes to that flag through JMX!
- Removed sysAdminCache and supporting configuration.
15684: Improvements to cluster support for subsystems
- When a subsystem is stopped on a node for editing it is completely destroyed and deregistered from JMX on other nodes
- Should the subsystem be reactivated on those other nodes (e.g. called into by code) it will be reinitialized from persisted properties and thus stay in sync with the node being edited!
15683: Fixed potential concurrency issues in HeartBeat and LicenseComponent
- Discovered during cluster testing
- Because these components schedule triggers in a retrying transaction, they need to unschedule the triggers beforehand, just in case a retry has happened
15617: MOB-646: JMX edits now synchronized across cluster via JGroups
- When you stop a component or subsystem, it is stopped across the entire cluster
- When you restart it after editing properties, the component is reinitialized from the persisted properties across the cluster
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16873 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15586: Merged V3.1 to V3.2
14863: Fixed ETHREEOH-2223: Oracle version-specific schema update failure in upgrading from 2.1A build to 3.1 build
15041: Further fix for ETHREEOH-2223: Oracle version-specific schema update failure in upgrading from 2.1A build to 3.1 build
15428: The ipAddress field of HibernateNodeDaoServiceImpl is 39 characters long (Transaction.hbm.xml modified)
15472: Incremented schema version number for SQL patch
15502: ETHREEOH-2292: Deployment failure in case of IPv6 on Win 2k8
*NOTE*: Removed Derby scripts as it's no longer supported
15588: (record only after Derby script removal) Fixed over-zelous move of Derby scripts
15589: Removed hard-coded GUEST reference
___________________________________________________________________
Modified: svn:mergeinfo
Merged /alfresco/BRANCHES/V3.1:r14863,15041,15428,15472,15502
Merged /alfresco/BRANCHES/V3.2:r15586,15588-15589
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16863 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
16062: ETHREEOH-2792: Support login via external SSO systems (such as CAS) in Alfresco Share
- In Alfresco, new "external" authentication subsystem maps user identity from HttpServletRequest.getRemoteUser() or configured header
- In Share, the UserFactory also recognizes HttpServletRequest.getRemoteUser() - no special filters required
- User ID propagated to Alfresco through X-Alfresco-Remote-User HTTP header
- This can be done securely via the use of an SSL client certificate that identifies the Share application to Alfresco as a special 'proxy' user
- New <keystore> section added to webscript-framework-config that allows specification of the keystore holding the client certificate and trusted CAs
- Support for SSL authentication and propagation of Cookies through redirects added to RemoteClient so that initial redirects through sign on pages are supported
- TODO: Wiki
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16065 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15828: ETHREEOH-2601: Users dialog won't delete users who have no authentication information
- Moved the AuthenticationService.deleteAuthentication() call inside PersonService.deletePerson() and protected with try - catch so that if there is no authentication information (for an upgraded/moved user) the person can still be deleted
- Removed a bunch of redundant deleteAuthentication() calls
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15829 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15506: Fix for ALFCOM-3274 - removed double-encoding of webview dashlet title when set from Configure dialog.
15543: Fixes for ETHREEOH-2596 and ETHREEOH-2392. Any Admin user now forced to enter old password when editing themselves in the Share User Admin console.
15620:Merged V3.1 to V3.2
15595: Merged DEV-TEMPORARY to V3.1
15446: Appropriate JSP page was modified to align radio buttons.
15597: Fix for ETHREEOH-2575 - all PNG files now appear in IE6, note that PNG transparency is not supported in IE6.
15598: Merged DEV-TEMPORARY to V3.1
15593: ETHREEOH-2445: Localization Issues [Email Templates and RSS Templates ACPs I18N]
15599: Merged DEV-TEMPORARY to V3.1
15491: ETHREEOH-2460: Localization Issues - Email template
15601: *RECORD ONLY* Merged V3.2 to V3.1
15504: ETHREEOH-2447: My Content page localisation failing. [backport from V3.2]
15613: *RECORD ONLY* Removed reference to portlets message bundle - as per CHK-8518
15784: Minor performance improvements to data dictionary classes relating to Permission evaluations.
15791: Merged V3.1 to V3.2
15693: Merged DEV-TEMPORARY to V3.1
15648: ETHREEOH-2549: Templates in 3.1 will need localising
15743: ETHREEOH-2586: JP:Layout error, the word "....." (cancel) should be in the same line
15745: ETHREEOH-2493 - HTML and XML encoding fixes to Alfresco OpenSearch keyword and person search HTML/ATOM/RSS feed templates.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15793 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
15636: ETHREEOH-2626: LDAP sync will no longer delete and recreate colliding users and groups in zones that aren't even in the authentication chain.
- Instead such users and groups will be 're-zoned' to the first zone where they were found
- Avoids losing site memberships, etc. on upgrade or change of authentication chain
- Will continue to recreate users and groups from lower priority zones in the authentication chain
- Updated unit tests appropriately
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15637 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261