mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-22 15:12:38 +00:00
916ef0cc06b3e4cd15bfaebee9ce4cf4d51eb4d0
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 |