mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-06-30 18:15:39 +00:00
10 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
d257bbc9d0 |
Merged V3.4-BUG-FIX to HEAD
30744: ALF-9524: WCM: Defining a complex type with 'abstract' attribute to true does not allow other complex types to define elements with the same name - Fix by Pavel 30804: ALF-9524: Fix to NPE by Pavel 30812: ALF-718: Rules Fire Emails before Transaction Commit/Rollback Added tests and moved email sending into a post commit callback. 30820: Fix for ALF-10516 - 'My Sites' dashlet should indicate it is loading rather than say 'No sites' 30824: Fixed ALF-10470: DeclaritiveRegistry is looping continuously and re-initializing - Only replicate removals for the cache. The reset always does a remove first. <cache name="org.alfresco.cache.webScriptsRegistryCache" ... replicateUpdates = false, ... </cache> 30827: ALF-10513 60k Site Performance: Unable to delete user + request not acknowledged for 2 minutes Now about 3 to 4 seconds 30828: Andy H recommended change to lucene indexer values 30831: ALF-718: Fix for InvitationServiceImplTest Fixes behaviour broken by original fix for ALF-718: the send-after-commit does NOT work for the invitation service, so it was necessary to change the code to only send-after-commit in the context of a rule. 30843: Fixed ALF-7698 "Defects in tags picker in SHARE." according to feedback provided in ALF-9953 "Decide order where new items shall appear in the object finder." 30844: ALF-9544 - Inbound email restricts file name to 86 characters or less. used QName.createQNameWithValidLocalName() as suggested. added new EmailServiceImplTest 30849: Fixed ALF-8776 "Rule details dialog handling of apostrophes" 30862: Merged DEV/TEMPORARY to V3.4-BUG-FIX (with improvements) 30856: ALF-10288: Regression of ALF-1997: non domain users cannot bypass SSO in Share using /share/page?pt=login In SSOAuthenticationFilter.doFilter() method added check (PAGE_SERVLET_PATH.equals(req.getServletPath()) && LOGIN_PATH_INFORMATION.equals(req.getPathInfo()). 30864: SMTP Server, To and From address format. - Out standards for from and to address were stuck in the 1980s! 30867: ALF-10517 - 'My Content' slow - performance improvements by reworking Lucene queries used to retrieve recently modified and recently created content for a user - converted queries to fts-alfresco - improvements from 3.5sec per page render down to 1.1 secs 30874: MERGE DEV to V3.4-BUG-FIX 30851 : ALF-9558 - Unchecked Return Value 30882: - ScriptGroup.isRootGroup() now stops if it finds a single parent rather than doing a size on all parent groups. Not sure the logic (not changed by me) is correct as it includes parents that are site groups. - SiteServiceImpl now only gets the specified number of sites. Sometimes it would have return more if AuthorityDAOImpl switched approach used to get containing authorities. - Overloaded getContainingAuthorities to take a size parameter, deprecated other and switched calling code Done for isRootGroup activity. 30910: - Fix build error - Found a better way to use filter in AuthorityDAOImpl.getContainingAuthoritiesInZone so that we don't need to reset the filter, by using the +ve hits from first approach if we switch to second approach. 30925: - ALF-10501 60k Site Performance: Searching for a group to add to a site with a value that matches a few sites takes 2 minutes ALF-10502 60k Site Performance: Admin Console | Groups: search with a value that matches a few sites takes 70 seconds ALF-10504 60k Site Performance: Admin Console | Groups | Browse Groups page appears corrupt as it never finishes loading - All the above were slow as a result of ScriptGroup.isRootGroup() - ScriptGroup.isRootGroup() and ScriptGroup.isAdminGroup() removed - Checked with KevinR that these are not needed any more. - Removed code added on 30 Sep 11 to support isRootGroup (the size parameter to AuthorityDAO.getContainingAuthorities) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30935 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |
||
|
2e62d4fb29 |
Merged DEV/ALAN/SITE_PERF to HEAD
30342: Dev branch for Site performance issues (including rework of AuthorityService.getAuthorities() to use a 'lazy' set and DM indexing rework) ALF-9899 Huge share site migration, add group to site and user access site related performance issue. ALF-9208 Performance issue, during load tests /share/page/user/user-sites is showing to be the most expensive. ALF-9692 Performance: General performance of Alfresco degrades when there are 1000s of sites present - ancestor-preloading - hasAuthority - huge site test 30370: - Save changed to do with adding childAuthorityCache to AuthorityDAOImpl - Increase aspectsTransactionalCache size as it blows up 30387: Experimental solution to 'cascading reindex' performance problem - Now only Lucene container documents for a single subtree are reprocessed on addition / removal of a secondary child association - No need to delete and re-evaluate ALL the paths to all the nodes in the subtree - just the paths within the subtree - Lucene deltas now store the IDs of ANCESTORs to mask out as well as documents to reindex - Merge handles deletion of these efficiently - Node service cycle checks changed from getPaths to recursive cycleCheck method - Adding a group to 60,000 sites might not require all paths to all sites to be re-evaluated on every change! 30389: Missed files from last checkin 30390: Optimizations / fixes to Alan's test! 30393: Bug fix - wasn't adding new documents into the index! 30397: Fixed a problem with bulk loading trying to bulk load zero parent associations Also tweaked reindex calls 30399: Correction - don't cascade below containers during path cascading 30400: Another optimization - no need to trigger node bulk loading during path cascading - pass false for the preload flag 30404: Further optimizations - On creation of a secondary child association, make a decision on whether it is cheaper to cascade reindex the parent or the child, based on the number of parent associations to the child - Assumes that if there are more than 5 parent associations, it's cheaper to cascade reindex the parent - Add a new authority to a zone (containing 60,000 authorities) - cascade reindex the authority, not the zone - Add a group (in 60,000 sites) to a site - cascade reindex the site, not the group - Caching of child associations already traversed during cascade reindexing - Site creation time much reduced! 30407: Logic fix: Use 'delete only nodes' behaviour on DM index filtering and merging, now we are managing container deletions separately 30408: Small correction related to last change. 30409: Correction to deletion reindex behaviour (no need to regenerate masked out containers) - Site CRUD operations now all sub-second with 60,000 sites! 30410: Stop the heartbeat from trying to load and count all site groups - Too expensive, as we might have 60,000 sites, each with 4 groups - Now just counts the groups in the default zone (the UI visible ones) 30411: Increased lucene parameters to allow for 'path explosion' - 9 million lucene documents in my index after creating 60,000 Share sites (most of them probably paths) resulting in sluggish index write performance - Set lucene.indexer.mergerTargetIndexCount=8 (142 documents in smallest index) - Increased lucene.indexer.maxDocsForInMemoryMerge, lucene.indexer.maxDocsForInMemoryIndex 30412: Test fixes 30413: Revert 'parent association batch loading' changes (as it was a bad idea and is no longer necessary!) - Retain a few caching bug fixes however 30416: Moved UserAuthoritySet (lazy load authority set) from PermissionServiceImpl to AuthorityServiceImpl 30418: - Remove 'new' hasAuthority from authorityService so it is back to where we started. - SiteServiceHugeTest minor changes 30421: Prevent creation of a duplicate root node on updating the root - Use the ANCESTOR field rather than ISCONTAINER to detect a node document, as the root node is both a container and a node! 30447: Pulled new indexing behaviour into ADMLuceneIndexerImpl and restored old behaviour to AVMLuceneIndexerImpl to restore normal AVM behaviour 30448: - Cache in PermissionServiceImpl cleared if an authority container has an association added or removed Supports the generateKey method which includes the username Supports changes in group structures - Moved logic to do with ROLE_GUEST from PermissionServiceImpl to AuthorityServiceImpl 30465: - Tidy up tests in SiteServiceTestHuge 30532: - Added getContainingAuthoritiesInZone to AuthorityService - Dave Changed PeopleService.getContainerGroups to only return groups in the DEFAULT zone - Fixed RM code to use getAuthoritiesForUser method with just the username again. 30558: Build fixes - Fixed cycleCheck to throw a CyclicChildRelationshipException - More tidy up of AVM / ADM indexer split - Properly control when path generation is cascaded (not required on a full reindex or a tracker transaction) - Support indexing of a 'fake root' parent. Ouch my head hurts! 30588: Build fixes - StringIndexOutOfBoundsException in NodeMonitor - Corrections to 'node only' delete behaviour - Use the PATH field to detect non-leaf nodes (it's the only stored field with which we can recognize the root) - Moved DOD5015Test.testVitalRecords() to the end - the only way I could work out how to get the full TestCase to run 30600: More build fixes - Broadcast ALL node deletions to indexer (even those from cascade deletion of primary associations) - Allows indexer to wipe out all affected documents from the delta even if some have already been flushed under different parents by an intricate DOD unit test! - Pause FTS in DOD5015Test to prevent intermittent test failures (FTS can temporarily leave deleted documents in the index until it catches up) - More tidy up of ADMLuceneIndexerImpl - flushPending optimized and some unnecessary member variables removed - correction to cascade deletion behaviour (leave behind containers of unaffected secondary references) - unused MOVE action removed - further legacy logic moved into AVMLuceneIndexerImpl 30620: More build fixes - Cope with a node morphing from a 'leaf' to a container during its lifetime - Container documents now created lazily in index as and when necessary - Blank out 'nth sibling' field of synthesized paths - ADMLuceneTest now passes! - TaggingServiceImplTest also passes - more special treatment for categories 30627: Multi tenancy fixes 30629: Possible build fix - retrying transaction in ReplicationServiceIntegrationTest.tearDown() 30632: Build fix - lazy container generation after a move 30636: Build fix: authority comparisons are case sensitive, even when that authority corresponds to a user (PermissionServiceTest.testPermissionCase()) 30638: Run SiteServiceTestHuge form a cmd line set SITE_CPATH=%TOMCAT_HOME%/lib/*;%TOMCAT_HOME%/endorsed/*;%TOMCAT_HOME%/webapps/alfresco/WEB-INF/lib/*;\ %TOMCAT_HOME%/webapps/alfresco/WEB-INF/classes;%TOMCAT_HOME%/shared/classes; java -Xmx2048m -XX:MaxPermSize=512M -classpath %SITE_CPATH% org.alfresco.repo.site.SiteServiceTestHuge ... Usage: -Daction=usersOnly -Dfrom=<fromSiteId> -Dto=<toSiteId> -Dfrom=<fromSiteId> -Dto=<toSiteId> -Daction=sites -Drestart=<restartAtSiteId> -Dfrom=<fromSiteId> -Dto=<toSiteId> -Daction=groups -Drestart=<restartAtSiteId> 30639: Minor changes to commented out command line code for SiteServiceTestHuge 30643: Round of improvements to MySites dashlet relating to huge DB testing: - 10,000 site database, user is a member of ~2000 sites - Improvements to site.lib.ftl and related SiteService methods - To return MySites dashlet for the user, order of magnitude improvement from 7562ms to 618ms in the profiler (now ~350ms in the browser) 30644: Fixed performance regression - too much opening and closing of the delta reader and writer 30661: More reader opening / closing 30668: Performance improvements to Site Finder and My Sites in user profile page. - faster to bring back lists and site memberships (used by the Site Finder) - related further improvements to APIs used by this and My Sites on dashboard 30713: Configuration for MySites dashlet maximum list size 30725: Merged V3.4-BUG-FIX to DEV/ALAN/SITE_PERF 30708: ALF-10040: Added missing ReferenceCountingReadOnlyIndexReaderFactory wrapper to IndexInfo.getMainIndexReferenceCountingReadOnlyIndexReader() to make it consistent with IndexInfo.getMainIndexReferenceCountingReadOnlyIndexReader(String, Set<String>, boolean) and allow SingleFieldSelectors to make it through from LeafScorer to the path caches! Affects ALL Lucene queries that run OUTSIDE of a transaction. 30729: Use getAuthoritiesForUser rather than getContainingAuthorities if possible. SiteServiceTestHuge: command line version 30733: Performance improves to user dashboard relating to User Calendar - converted web-tier calendar dashlet to Ajax client-side rendering - faster user experience and also less load on the web-tier - improvements to query from Andy - maximum sites/list size to query now configurable (default 100 instead of previously 1000) 30743: Restore site CRUD performance from cold caches - Introduced NodeService.getAllRootNodes(), returning all nodes in a store with the root aspect, backed by a transactional cache and invalidated at key points - Means indexing doesn't have to load all parent nodes just to check for 'fake roots' - Site CRUD performance now back to sub-second with 60,000 nodes 30747: Improvement to previous checkin - prevent cross cluster invalidation of every store root when a single store drops out of the cache 30748: User dashboard finally loading within seconds with 60,000 sites, 60 groups, 100 users (thanks mostly to Kev's UI changes) - post-process IBatis mapped statements with MySQL dialect to apply fetchSize=Integer.MIN_VALUE to all _Limited statements - Means we can stream first 10,000 site groups without the MySQL JDBC driver reading all 240,000 into memory - New NodeService getChildAssocs method with a maxResults argument (makes use of the above) - Perfected getContainingAuthoritiesInZone implementation, adding a cutoff parameter, allowing only the first 1000 site memberships to be returned quickly and caches to be warmed for ACL evaluations - New cache of first 10,000 groups in APP.SHARE zone - Cache sizes tuned for 60,000 site scenario - Site service warms caches on bootstrap - PreferencesService applies ASPECT_IGNORE_INHERITED_RULES to person node to prevent the rule service trying to crawl the group hierarchy on a preference save - WorkflowServiceImpl.getPooledTasks only looks in APP.DEFAULT zone (thus avoiding site group noise) 30749: Fix compilation errors 30761: Minor change to SiteServiceTestHuge 30762: Derek code review: Reworked fetchSize specification for select_ChildAssocsOfParent_Limited statement for MySQL - Now fetchSize stated explicitly in a MySQL specific config file resolved by the HierarchicalResourceLoader - No need for any Java-based post processing 30763: Build fix: don't add a user into its own authorities (until specifically asked to) 30767: Build fix - IBatis / MySQL needs a streaming result statement to be run in an isolation transaction (because it doesn't release PreparedStatements until the end) 30771: Backed out previous change which was fundamentally flawed - Resolved underlying problem which was that the select_ChildAssocsOfParent_Limited SQL string needs to be unique in order to not cause confusion in the prepared statement cache 30772: Backed out previous change which was fundamentally flawed - Resolved underlying problem which was that the select_ChildAssocsOfParent_Limited SQL string needs to be unique in order to not cause confusion in the prepared statement cache git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30797 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |
||
|
91bc36f401 |
ALF-740 - Email alias is case sensitive
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19247 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |
||
|
cefda8c965 |
Updated header to LGPL
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18931 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |
||
|
43e93f3c14 |
Updated header to LGPL
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18926 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |
||
|
1c1a35e500 |
Merged V3.2 to HEAD
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 |
||
|
b726c4d6db |
Merged DEV/TEMPORARY to HEAD
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 |
||
|
d5e0432589 |
Merged BRANCHES/DEV/DAVEW/LDAP to HEAD
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 |
||
|
488127f5a8 |
Email Server and EmailService in a working state.
- Fixed authentication - Fixed I18N - Fixed mimetype and encoding issues Changed 'avm' remote ports and hosts to be 'alfresco.rmi.services' as the 'avm' was starting to creep into non-avm stuff. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7281 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |
||
|
2274f59f2d |
EmailServer code.
- This is not fully integrated. In fact, the integration points have been disabled. - The main code for now is the remote stream. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6756 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 |