Commit Graph

427 Commits

Author SHA1 Message Date
Steven Glover
d053782f25 Fix for ALF-7241:
- patch to mybatis-3.0.4
  - configuration option (property 'mybatis.useLocalCaches') to disable local caches that cause problems with result handlers not returning any results

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31333 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-19 09:01:34 +00:00
Derek Hulley
7c576151bb More tweaks to child assoc queries: NodeDAO client code must opt for sorting of child assocs explicitly
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31332 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-19 00:26:18 +00:00
Derek Hulley
7e27fbd5d8 Rework APIs of new getChildAssocs with result count limit
- Use regular pattern of get -> select in the DAO
 - All getChildren* batching done after the query
 - Unit tests
 - In progress: Added option (low level select only) to constrain by assoc ID


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31318 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-18 13:48:32 +00:00
Derek Hulley
68f462492e Fix for rev 31223: Missing child node cache invalidation call (ALF-10699)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31253 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-16 05:24:06 +00:00
Derek Hulley
039e8c40cc Minor cleanup of unused argument after rev 31223 (ALF-10699)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31252 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-16 04:42:49 +00:00
Derek Hulley
7a134c42bc Removed use of parentAssocsCache reverse lookup for getChildByName()
- Not consistent with secondary parent associations
 - Not able to ensure consistency as child node entries are modified
 - TODO: Examine alternative caching strategy


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-14 13:32:14 +00:00
Derek Hulley
953af0b5a3 Fixed ALF-10699: Nodes not getting put into new transactions during various operations
- This concludes the bug and more of the node cache refactor
 - This final part contains:
   - parentAssocsCache and other node caches are now immutable (at least for the shared cache)
   - Remove some of the cache double-checks associated with parentAssocsCache
 - TODO: Simplify getNodeRefStatus and replace with cache read-through for index trackers
 - TODO: Node archive performance
 - TODO: Inverse parentAssocsCache is broken, so it needs fixing (minor)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31223 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-14 04:33:44 +00:00
Derek Hulley
c8bdbb0135 Node cache changes (step): aspects are cached using the node's ID-VERSION key
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31178 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-12 15:38:04 +00:00
Derek Hulley
5aaf1ad850 Node cache changes (step): properties and aspects are retrieved with the node's version
- nodePropertiesCache is now keyed by the nodes' Id-VERSION keys
 - prevents old transactions from writing stale properties over latest cache properties
 - TODO: Still need to make the cache immutable, but waiting for aspects and parent assocs to be done


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31140 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 14:44:27 +00:00
Derek Hulley
87bee8092d Node cache changes (step): properties and aspects are retrieved with the node's version
- Perform basic node version check when reading properties and aspects from DB
 - This is just the start.  Next step is to change the key of the cache itself.
 - Includes fix for rev 31109: Use setNodeAclId() to set ACL IDs


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31121 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 10:58:48 +00:00
Derek Hulley
658c856a2d Use setNodeAclId() to set ACL IDs
- ALF-10699: Nodes not getting put into new transactions during various operations


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31109 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 03:56:34 +00:00
Derek Hulley
e2b4f2884d Part of ALF-10699: Nodes not getting put into new transactions during various operations
- Mass ACL updates of primary children now update the version and transaction for the affected nodes


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31108 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-11 03:07:30 +00:00
Dave Ward
c4e5fe30d1 Corrected namespace of SELECT_CHILD_ASSOCS_OF_PARENT_LIMITED
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30800 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-27 12:54:02 +00:00
Dave Ward
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
2011-09-27 12:24:57 +00:00
Derek Hulley
a87c7cb605 Further fix on HEAD following rev 30520: Revisited timestamp propagation (cm:modified)
- Added missing override of cm:auditable properties in 'touch' method


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30617 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-19 19:45:30 +00:00
Derek Hulley
fb406b769b Merged V3.4-BUG-FIX
30520: Revisited timestamp propagation (cm:modified) now that the system does this by default
          - Original low-level code (Hibernate optimizations) pulled back into NodeService implementation
          - Use case driven prompting to touch the parent node
          - Full indexing and policy callbacks against parent (was missing completely)
          - Optimizations to ensure parent node modifications are only done where required and
            the same transaction is used where possible
          - 1s accuracy limit is maintained to prevent unnecessary modifications
          - Enhanced tests to cover use cases where propagation is expected
            - ALF-10262: Timestamp propagation is enabled by default
          - Fixes or will fix:
            - ALF-10291: Test disabled: SOLRTrackingComponentTest (various)
            - ALF-7433: A file deleted using the web UI still appears in a NFS mount but with NULL stats
            - ALF-10271: Test disabled: ArchiveAndRestoreTest.testAR7889ArchiveAndRestoreMustNotModifyAuditable
            - ALF-10267: Test disabled: NodeServiceTest.testArchiveAndRestore
         Also
          - Found problem where cm:auditable properties could be modified directly against the cached values
          - Extended locking of cached entities to the AuditablePropertiesEntity


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30598 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-19 11:30:56 +00:00
Steven Glover
69d5e091e0 Fix for ALF-10189:
o Alfresco key store manages keys and backup keys internally
  o moved key registration and checking into AlfrescoKeyStoreImpl
  o encryptor thread cache fix resulting from reload of key stores at runtime
  o more encryption and key store tests
  o tidy up + more comments
  o moved hard-coded values to properties file

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30405 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-11 12:09:24 +00:00
Derek Hulley
62ea9bf571 Fixed cm:auditable setting not being pushed the DB
- Changes were being put into the cache but missing an update trigger to push to the DB
 - Fixes ALF-10224: Test disabled: GetChildrenCannedQueryTest.testPropertySorting


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30386 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-09 13:37:35 +00:00
Derek Hulley
e03abe5d16 Efficiencies during low-level setting of cm:auditable properties (found during ALF-10224 investigation)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30383 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-09 13:23:54 +00:00
Derek Hulley
676056b4bd AuditDAO test applications have GUID names; timestamp names may have caused overlap
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30329 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-08 04:45:16 +00:00
Derek Hulley
4f00e67d91 Added extra sleeps to ensure timestamp separation in tests (ALF-10024)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30301 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-07 11:22:06 +00:00
Derek Hulley
7ae714dcb9 Fix for timestamp propagation during store move events
- Timestamps don't propagate during store move because the source node
   is always deleted and therefore disappears
 - Fixed ALF-10201: Test disabled: ChannelServiceImplIntegratedTest


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30284 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-07 03:51:37 +00:00
Dave Ward
cb4a571fa1 Merged V3.4-BUG-FIX to HEAD
29870: ALF-9952: Compatibility fix to allow mounting of Alfresco WebDAV as a network drive on Windows XP (without WebDrive)
   29872: Fixed ALF-7698 "Defects in tags picker in SHARE."
   - now checks added items to avoid duplicates
   29873: Made sure the onActionDetails doclib action generates SimpleDialog instance ids each time, to avoid multiple js class instances with the same id getting called for every dialog created.
   29878: ALF-9378: Use caching plus a read write lock, in a similar manner to ALF-7064, to avoid contention in SubsystemProxyFactory under load
   29881: Added helper text for the translators to the property file.
   29910: ALF-7433: a file deleted using the web UI still appears in a NFS mount but with NULL stats
   - timestamp propagation now enabled by default so NFS always works
   - timestamp propagation less agressive - only has to propagate on adds / deletes and renames
   29911: Values for recurrence strings updated now that I've read RFC-2445
   29944: ALF-9988: Merged PATCHES/V3.3.4 to V3.4-BUG-FIX
      28581: ALF-8944: Corrected sort parameter handling for datetime fields, based on analyzer and tokenization mode
   29955: Fixed ALF-9965: Property names matching fails if the property contains non Alphanumeric characters
   29956: Fixed ALF-9424: Webform(XSD): xf:switch switch group does not work based on "complexContent with Base" element.
   29964: Fixed ALF-9089: TinyMCE convert_fonts_to_spans parameter is not being picked up in Web Forms
   29977: L10N Updates from Gloria (based on rev29838).
   29980: Ignore virtual tomcat directory
   29981: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_08_19 to BRANCHES/DEV/V3.4-BUG-FIX 
       ALF-6808 : Incorrect Search Language Conversion for wild card characters (%, _) for MS SQL 
   29984: ALF-4753: Fix search query escaping in Alfresco Explorer
   - AWC-1743 / CHK-2171 fix restored
   29993: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      29989: ALF-9976: WebDAV Class 2 compliance issue with OPTIONS response.
         Class 2 incompliance connected with absence of 'PROPPATCH' method in the 'Allow' response header has been fixed
   30009: ALF-7239 : Documents from Records Manager cannot be viewed in Outlook   
   30012: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_08_19 to BRANCHES/DEV/V3.4-BUG-FIX:
      29986: ALF-7105: pdfbox returns errors in the logs but one cannot understand what file is affected (PDFBox)
   30014: ALF-6284: Fix for Share Kerberos SSO Websphere compatibility (by Pavel)
   30016: Merged DEV to V3.4-BUG-FIX
      29424: ALF-8715: NFS: Admin sometimes cannot edit content uploaded via JSF
             Fix for "Can't open file for writing" during saving file in VI-like editors connected with FileExpiry daemon:
             - 'getNodeOrNull()' method extracted to get and check on existence of the cached file object
                and then update cache timeout or remove it from the cache;
             - 'getNodeForPath()' was appropriately updated in accordance with logic extracted to 'getNodeOrNull()';
             - 'fileExists()' method was corrected to take into account existence of the cached file object 
   30017: Reverses an accidental check in made with the last L10N bundle update (r29977)
   30045: ALF-8664 - Custom 'mandatory' RM metadata causes editing issues   
   30053: ALF-9681: webScriptsRegistryCache size in ehcache-default.xml   
      webScriptsRegistryCache maxElementsInMemory size was incremented up to 1000
   30079: ALF-10027: Fix template alfresco-global.properties for custom tomcat ports
   - Obselete web.application.context.url removed
   - alfresco.host, alfresco.port, share.host and share.port added
   30080: Fixed parse error mentioned in ALF-9511 "RSS Feeds with HTTP Auth doesn't work with Feed dashlet"
    - In java regexps the . (dot) does NOT include the \r or \n by default, to change that a (?s) instruction was added in the beginning of the regexp
   30083: Fixed ALF-10048 "Multiple thumbnails in RSS feeds causes problem for RSS Feed dashlet"
   30088: ALF-7433: Fix unit test fallout from new timestamp propagation behaviour
   30089: ALF-7433: Further unit test fallout from new timestamp propagation behaviour
   - testPermissionsAndPolicies needs to get folder modification date in a distinct transaction after populating it
   30091: ALF-10050: CIFS: Coordinator is unable to delete content after IMAP has been enabled
   - Transactional cache null entry issue
   30096: ALF-9793: Allow auto-created NFS authenticated users to work
   - Also removed admin from default mappings to avoid security hole
   30102: ALF-8723 CIFS on Windows fails to start under certain conditions
      - Found another place >= was required rather than just >
   30104: ALF-9890 SiteService is not producing audit data.
      - Internal siteService rather than public SiteService was being used, so there was no audit advice.
   30119: ALF-9793: Fallout from previous fix. Prevent initialization error when there are no user mappings and NFS is not enabled.
   30120: ALF-9526: Work around the fact that Websphere ignores the response encoding unless you call response.setCharacterEncoding()
   - GlobalLocalizationFilter inserts a response wrapper that parses the charset parameter from the content type header, if it is present
   30121: ALF-9535: Alfresco ignores Accept-Language sent from Share
   - Ticket and webscript authentication (i.e. Share requests) will use the language set in request headers as the session language
   30130: ALF-10049: Fix by Andrey to enable Flash upload on Weblogic!
   30141: ALF-8732 Now if the adhoc workflow throws exceptions while sending a notification email then those exceptions are ignored.
   30226: ALF-9415: JSF - Copy/Paste vs Cut/Paste add aspect rule.
   30242: Added NodeService.getNodeRef(Long nodeId)
    - First step to remove Lucene search from inbound email server
    - Done while investigating ALF-9660
   30243: Fixed ALF-9660: Inbound emails are always stored with encoding=UTF-8 regardless the encoding the email client uses.
    - If the encoding is provided, then it is not guessed
    - Includes tweak to remove Lucene search and rather use direct node ID-NodeRef translation provided by NodeService
   30263: Incremented version revision
   30264: ALF-10187: Merged V3.3 to V3.4-BUG-FIX
      30003: ALF-9898: More defensive exception handling to avoid packet pool leaks and extra logging on packet pool exhaustion
   30265: Merged V3.4 to V3.4-BUG-FIX
      30259: ALF-6527 LangPack FR - [Search results' page] Incorrect label when search matches results
        - Added "(s)" to "trouvé(s) dans l'entrepôt."   (for a repository search - found in retest)
        - The original change:
          Added "(s)" to "trouvé(s) dans tous les sites."   (for an All Sites search)
          
          However this leaves the current site search. As a result I also:
          Added "(s)" to "trouvé(s) dans le site {0}."  (for a current Site search)
          and checked with a French speaker that this would sound correct.
          
          Note: all three labels are prefixed by a separate text label: "N résultat(s) "
      30261: (RECORD ONLY) Merged V3.4-BUG-FIX to V3.4 (3.4.5)
      30262: ALF-10186: Merged PATCHES/V3.4.1 to V3.4
         30126: ALF-10075: Concurrency during CMIS document update causes content stream to close prematurely.
            - Created BufferedRequest request wrapper in RepositoryContainer
            - If the content stream is accessed directly it is streamed to a temporary file so that requests can be retried
         30137: ALF-10075: Fixed NPE


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30271 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-06 16:14:53 +00:00
Matt Ward
ee3c402701 ALF-10024: audit script not working correctly if auditFromTime parameter is null
* separated deletion into two: delete_auditEntries and delete_auditEntriesById
* fixed where clauses
* created tests for: deletion of an application's audit items with null fromTime; deletion of an application's audit items between specified times; deletion of all applications' audit items between specified times.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30258 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-06 11:39:13 +00:00
Derek Hulley
1b2e8c53ec Fixed compilation error from 30162. Mixing fixes
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30163 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 03:53:35 +00:00
Derek Hulley
9e84d86ec5 Fixed ALF-10061: NodeService.getAssoc() throws an exception if the requested association does not exist
- CMIS expects to get null (as per NodeService javadoc) but it was generating a concurrency exception
 - Added a specific call to getNodeAssocOrNull to the DAO


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30162 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 03:23:06 +00:00
Derek Hulley
a33fa7be9f Fixed ALF-10012: Repository fails to start on MS SQL Server
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30161 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 03:07:25 +00:00
Steven Glover
8ba839ca7d ALF-9510: wip. Further code changes.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30112 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-26 16:18:36 +00:00
Steven Glover
b8d0df0c95 ALF-9510 checkin. Also some fixes for ALF-8702.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30070 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-25 16:22:33 +00:00
Derek Hulley
c72a19b637 Merged DEV to HEAD:
29876: Removed emotive language from build.xml
   29877: Made getter final; should make members final.
   29879: Extra check for erroneous, pre-existing transactions
   29880: ALF-8966: RSOLR 042: Node deletes keep DB ID (ALF-8965)
          - There is no longer code to change the store ID and UUID for an entry in alf_node
          - During store moves, new node entries are created and node data is moved onto the new node
          - Primarily affects archive/restore use cases
          - Any NodeRef can be tracked using the DB ID associated with it (see NodeService.getNodeStatus)
   29926: Minor toString modification
   29927: Code cleanup: line endings, non-javadoc and isDebugEnabled
   29928: Moved exception absorbtion out of the non-propagating txn (and cleaned up unused code)
   29930: Test for ALF-5714: Write transactions serialized on MySQL
          - The fix is to add this to the MySQL configuration and restart the MySQL server
            innodb_locks_unsafe_for_binlog = true
            See: http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_locks_unsafe_for_binlog
          - The test holds DB resources from one archive process while doing another.  It fails without the setting given.
          - TODO: Documentation required
   29969: ALF-8966: RSOLR 042: Node deletes keep DB ID (ALF-8965)
          - Fixed timing of circular hierarchy detection
   29972: ALF-8966: RSOLR 042: Node deletes keep DB ID (ALF-8965)
          - Fixed ACL retrieval from old parent node during move
          - Fixes PermissionServiceTest failures
   29979: Fix test's initialization
   29987: Fixed txn demarcation during write of transfer report


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30044 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-24 23:09:39 +00:00
Steven Glover
f7f23f6eb7 Refactoring to support ALF-9510, ALF-8702
ALF-8702: Solr-Repository SSL Communications (see solr/source/solr/instance/HowToSetUpSolr.txt
ALF-9510: Initial checkin

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30005 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-23 18:34:15 +00:00
Derek Hulley
24fa893ac3 ALF-9990: Schema auto-update fails on MS SQL Server
- Added missing index for FK
 - Added NodeDAO.deleteSubscriptions and only added implementation for MSSQL
 - Removed ON DELETE CASCADE for MSSQL from create scripts


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29968 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-22 17:40:23 +00:00
Florian Mü
11c637b514 ALF-9957: subscription service fix in MT environment
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29915 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-19 12:05:53 +00:00
Gavin Cornwell
d093b6a8e4 ALF-9258: Added isEngineEnabled check to the Activiti engine initialisation so the JobExecuterThread is not started when it doesn't need to be.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29897 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-18 19:41:52 +00:00
Derek Hulley
355cfd4f95 Part of ALF-9957: MT: test and fix subscriptions. Added null checks from count queries.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29894 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-18 17:10:14 +00:00
Frederik Heremans
b5d8e12577 ALF-9258: Bootstrapping of schema now done in seperate (disposable) engine, using a bare connection instead of one from the datasource + jobexecutor startup delayed untill SchemaAvailableEvent
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29865 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-18 11:41:19 +00:00
Nick Burch
7ec7327ec4 Add debug logging on executeQuery to mirror that on executeCountQuery
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29842 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-17 16:45:43 +00:00
Gavin Cornwell
0a7ef76f27 Added code to create a transient ActivitiEngine to initialise the DB schema during bootstrap. Code is currently commented out though as it's still not working.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29720 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-12 14:07:43 +00:00
Dave Ward
088e02a9ad Merged V3.4-BUG-FIX to HEAD
29484: Merged V3.4 to V3.4-BUG-FIX
      29426: ALF-9588: Merged PATCHES/V3.4.2 to V3.4
         29402: ALF-9637: Enable Share Advanced Search on properties containing a '-' in the prefix
      29469: ALF-8341: Merged missing fragment from ALF-6598
      29476: ALF-3061 Need to disable major/minor version radio buttons after [Upload File(s)]
      29483: ALF-9407: Escape quote characters in parameterized strings
   29488: Build Fix and correct fix for ALF-9632 "CMIS query fails if model name contains numbers" fix
      - Ensure CMIS query types are ISO9075 encoded
      - the user has to type them in encoded if encoding is required - the encoded look up name was in fact incorrect - not the lookup
   29561: Merge DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 V3.4-BUG-FIX
      29422: ALF-7195 Add DisableAuditingInterceptor to NodeService and LockService.
   29572: ALF-9601 - Simultaneous deployment of the same web project to two file system targets on the same engine can cause some missing files in one of the targets.
   29578: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      29334: ALF-7390 : Alfresco ftp server never binds to a single ip address
         Added default configuration for bindTo property for FTP server.
   29587: Merged V3.4 to V3.4-BUG-FIX
      29495: Merged DEV/TEMPORARY to V3.4
         29494: ALF-7701: Untranslated strings when Quickr module is installed: Task details page
            Global workflow messages were removed
      29502: ALF-8929: Merged DEV/TEMPORARY to V3.4
         29499: Rename dictionaryModelBootstrap beans for QuickR model and example model.
      29504: ALF-5895: Profile CSS tweaks for other languages (Kev reviewed)
      29519: Merged DEV/TEMPORARY to V3.4 (Reviewed by Kev)
         29510: ALF-9419: Share - Filename changes in "Upload new version" (with italian language set)
            Upload WebScript was modified for support locale as a request parameter.
         29518: ALF-9419: Share - Filename changes in "Upload new version" (with italian language set)
            ScriptUtils used for locale change.
      29520: ALF-9717: Possible workaround to PolicyTest taking so long to run
      - Set sun.net.client.defaultConnectTimeout and sun.net.client.defaultReadTimeout System properties so that hanging request for a DTD times out quickly
   29596: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      29595: ALF-5046: DeclarativeWebScriptRegistry causes blow-out when loading system without content
         1. In org.alfresco.repo.web.scripts.RepoStore class added isContentPresent(NodeRef nodeRef) method.
         2. In org.alfresco.repo.web.scripts.RepoStore#getScriptDocumentPaths added check isContentPresent(nodeRef).
         3. In org.alfresco.repo.web.scripts.RepoStore#getDocumentPaths added check isContentPresent(nodeRef).
         4. In org.alfresco.repo.web.scripts.RepoStore#getAllDocumentPaths added check isContentPresent(nodeRef).
   29634: ALF-371 Alfresco Explorer: A change of a user's home folder now creates a new folder if it does not exist.
      If a home folder is shared, other users no longer find their home folder moving.
      However the content of the home folder must be manually moved.
   29637: ALF-9847 High level audit does not include initial node properties or changed path if node moved
   29685: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX
      29682: ALF-9777: Merged V3.4-BUG-FIX to PATCHES/V3.4.1
         28188: Fix for ALF-731 - in a cluster environment (high availibility), when a node goes down, the users are asked to login
      29684: ALF-9777: Correction
   29686: ALF-2372 Revert action does not restore changes to document metadata
       Now uses VersionService.revert(...)
   29697: ALF-9886: Missing space in apostrophe-laden Italian translation
   - The world is safe once more
   29698: Merged V3.4 to V3.4-BUG-FIX
      29672: Merged PATCHES/V3.4.1 to V3.4
         29441: ALF-9876 / ALF-9579: Share external authentication fixes
         1. Share SSO filter makes touch requests in the name of the external user ID (remoteUser) for unauthenticated users
         2. Include WebScriptSSOAuthenticationFilter in external-filter-context.xml to allow cookie-based manual login failover (A Spring Surf patch is required to support this)
         3. On the repository tier, web client authentication will send a 401 response for an invalid remote user (with redirect to login page in HTML markup) so that Share SSO authenticator detects this as an authentication failure and redirects to the login page, thus allowing manual login failover.
         29454: ALF-9876 / ALF-9579: Share external authentication fixes
         4. Spring Surf / Spring webscripts jars (from Kevin Roast)
         29563: ALF-8607 / ALF-9596: Guarantee read consistency in AbstractNodeDAOImpl.getNodeRefStatus
         - Partly achieved by making EntityLookupCache.removeByKey() unconditionally cache removes
      29673: ALF-9530: Reverse merged V3.4-BUG-FIX revisions 29124 and 29109
      - Postgres service will continue to run as SYSTEM user on Windows. See bug for more details.
      29674: ALF-7993: Reversed changes to bitrock files made during removal of 32 bit linux support from the build, as requested by Bitrock (V3.4-BUG-FIX revision 26582)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29700 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-11 18:54:03 +00:00
Andrew Hind
d004bc3e90 SOLR bug fixes
- Fix SOLR web app shutdown 
- Lucene search sub-system can start and self-test without being live
- Fix passing faceting parameters
- Model deletion on update/removal
- ALF-9798 Share - doc lib - favourites fails to show with SOLR - incorrect query ....
   - ID now uses hidden LID field if it is a NodeRef
- QNAME and other related queries generated against AUX doc

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29624 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-09 10:42:23 +00:00
Florian Mü
18bd553b68 ALF-9805: non-existing user don't follow other users
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29604 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-08 11:06:23 +00:00
Nick Burch
aa9b0beaaf ALF-9155 Canned query for links and wiki finding
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-03 14:43:25 +00:00
Brian Remmington
9268772ee9 Prevent testConcurrentLockAcquisition from running due to random and frequent failure.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29492 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-02 11:04:07 +00:00
Gavin Cornwell
8646c1084a Preparation for ALF-9258. Activiti process engine is now passed in to SchemaBootstrap so that table creation can be invoked at the appropriate time. Frederik is going to complete this task as he can build the latest Activiti JARs with the required method call and passing the process engine into SchemaBootstrap introduces a circular dependency in activiti-context.xml that needs to be resolved.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29331 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-26 07:42:58 +00:00
Dave Ward
a7b885a1c6 Merged V3.4-BUG-FIX to HEAD
29057: ALF-9491: Bitrock 7.2.2
   29063: ALF-8766 Concatenated strings in EN webclient file
   29066: Merge DEV/DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 to DEV/V3.4-BUG-FIX
      29010: ALF-7396: Japanese- Untranslated
   29072: HomeFolderProvider work - Changes as a result of Dave Ward's comments
     (HomeFolderManager not fully done as there is a spring issue with using NodeService, FileFolderService, fileFolderService, SearchService or searchService) 
   29074: ALF-7637 - Share displays incorrect folder contents after copy-on-outbound rule against working copy
   29075: ALF-8406 - Configuring the datalist display for sub-types does not work
   29082: ALF-6847 translation: "Collega" should be reverted to English: "Link" as per term list.
   29087: ALF-5717 property names for wcm quickstart website-model had an invalid format or did not end in .description or .title
   29093: Merge V3.3 to DEV/V3.4-BUG-FIX (28596)
      28596: Remove dependency between subsystems and all the object factories in the parent context!
         - Do not allow eager initialization when looking up parent post processors
         - Removes circular dependencies from sysAdmin subsystem
   29094: Merge HEAD to DEV/V3.4-BUG-FIX ()
      28892: Broke circular references between NodeService beans, NodeIndexer, Lucene and back to NodeService.
         - NodeIndexer is now bootstrapped to pull out reference to the Lucene beans
   29100: Revert Merge V3.3 to DEV/V3.4-BUG-FIX (28596) Caused RepositoryStartupTest to fail 
      28596: Remove dependency between subsystems and all the object factories in the parent context!
         - Do not allow eager initialization when looking up parent post processors
         - Removes circular dependencies from sysAdmin subsystem
   29102: ALF-9048: Make apply_amps.bat work from its installed location
   29103: ALF-8746: Restored Japanese choice format translations
   29104: Merged V3.3 to V3.4-BUG-FIX (Reinstated this revision as it is required)
      28596: Remove dependency between subsystems and all the object factories in the parent context!
         - Do not allow eager initialization when looking up parent post processors
         - Removes circular dependencies from sysAdmin subsystem
   29105: Use org.springframework.aop.target.LazyInitTargetSource in the NodeService public proxy to break a circular dependency
   29106: Make PersonService interact with HomeFolderManager via a lazy proxy to prevent another circular dependency
   - Simple HomeFolderManager interface created
   - Implementation class renamed to PortableHomeFolderManager
   - Removed TODOs from authentication-services-context.xml
   29107: Forgot to remove the serviceRegistry dependency from homeFolderManager
   29108: ALF-9529: Installer memory consumption and startup time improvements
   - Bitrock discover the for loop!
   29109: ALF-9530: Postgres installed as Windows service should run as a postgres user, not System
   - Fix from Bitrock
   29118: Fix for ALF-6737 - It's impossible to view any version of the wiki page if it was renamed with native characters
   29119: Fix for ALF-5787 - strings extracted for L10N in Web form creation help text
   29124: ALF-9530: Follow up fix from Bitrock
   29126: Fix for ALF-8344 - Incorrect message is displayed while recover deleted file
   29127: Fix for ALF-9445 - French - Share, translation on Transfer Target configuration
   29129: ALF-9476: Make FTPS work on IBM JDK
   29133: Fix failing DictionaryRestApiTest
   29136: Fix build issues from 29104:
   - run as system when creating home folders (PortableHomeFolderManager)
   - re-factored onCreateNode out of PortableHomeFolderManager into PersonServiceImpl
   - re-factored property PortableHomeFolderManager.enableHomeFolderCreationAsPeopleAreCreated to PersonServiceImpl.homeFolderCreationEager 
   29137: Fix for ALF-8831 - Internal error occurs in My Tasks Webscripts component
   29138: Fix for ALF-8765 - Layout is displaced if translated string occupies more than 1 line
   29140: Fix for ALF-8668 - Deleting author account causes Failed to load the forum posts
   29142: - PortableHomeFolderManager: Moved code to run as System into PersonServiceImpl so that one must have a valid authority to call the publick makeHomeFolder method. The authority should already be valid if called via PersonServiceImpl.
   - Removed unused policyBehaviourFilter property from PersonServiceImpl
   29146: ALF-8701: partially translated string in html-upload.get_fr
   29147: ALF-8727: DE - changes to Root Category
   29149: ALF-8731: DE - Wiki changes (space before full stop)
   29152: ALF-9503: Add space after colon in strings in file wdr-messages.properties
   29153: Fixed ALF-7899: association.ftl does not render when showTargetLink=true in workflow
   29165: ALF-8749: on submit action properties in wcn-workflow-messages.properties
   29166: Fix for ALF-6220 - Language pack - .ftl localization
   29167: ALF-9550 - Typos in new section of webclient.properties
   29169: Fix for ALF-7844 - W3C: Impossible to activate 'Choose from popular tags in this site' link by Enter/Space keys
   29170: Merge V3.4-TEAM to V3.4-BUG-FIX (3.4.4)
      27471: Fix for ALF-8150 - check for visibility before applying focus to element for IE.
   29171: Fixes: ALF-8922, removes date formatting from API (now returns ISO8601) and instead formats it on the client, using L10N strings.
   29172: Fix for ALF-2023 - Repository Action - Copy item to specific space doesn not include content. The option to 'deep copy' is now exposed in the UI for Run Action and Rules in Explorer.
   29173: Fix for ALF-1446 - Sorting of inline descendants is not observed
   29175: ALF-241 - The item is not coppied via 'Paste All' in Shelf when 'Details' page is opened
   29177: Fix for ALF-9520 - confusing sample config. Reordered sample config file as suggested.
   29178: Fixed ALF-6400: GERMAN: Explorer mouse over hints for TinyMCE are not localized
   Fixed ALF-5766: ALL translations errors in Explorer - Calendars are not localizable for content based on webforms
   29202: Merge DEV/BELARUS/V3.4-BUG-FIX-2011_04_12 to V3.4-BUG-FIX (3.4.4)
      27836: ALF-8524: CLONE - Sharepoint doesn't work with HTTPS
         Changes in url links required for HTTPS support.
   29203: Restored removal of postgresCreateSymLinksLinuxBuildingFromWindows tag (32 bit Linux) from revision 26582
   29211: Fix for ALF-1051 - It is impossible to find link by tag from link details page
   29212: Fix for ALF-5301 - TinyMCE is replacing carriage return with white spaces
   29250: Latest L10N update for all languages (DE, ES, FR, IT, JA) from Gloria (based on r29172)
   29253: L10N Update from Gloria
   29270: Fixed ALF-516: Unable to add content/delete tables in webform content when using FireFox
   29271: Update from Gloria
   29272: Merged BRANCHES/DEV/BELARUS/V3.4-BUG-FIX-2011_07_13 to BRANCHES/DEV/V3.4-BUG-FIX: (with minor modification)
      29223: ALF-7619: When document A has an association with a document B editing A's properties fails if user has no permission to edit B
   29274: ALF-9517 Incorrect behaviour of versions on Copy action. Version is 0.1 rather than 1.0
   29283: Resolve ALF-8273: Valid datetime value cannot be parsed by CMIS AtomPub interface
   29284: Update from Gloria
   29286: ALF-9596: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX
      28150: ALF-8607: Detailed debug logging when out of sync transaction detected by index checker / tracker
      28177: ALF-8607: Corrections to debug logging in AbstractReindexComponent
      28213: ALF-8607: Further corrections to debug logging in AbstractReindexComponent
      - Log attributes from indexes, rather than nodeService properties
      28341: ALF-8607: Stop index checker from 'lying'
      - isTxnPresentInIndex() call must be made in a new transaction in order to get a database view in sync with the current indexes
      28352: ALF-8607: Revisit transaction delineation. Nested transaction only required in checkTxnsImpl()
      28403: ALF-8607: Merged PATCHES/V3.3.4 to PATCHES/V3.4.1
         27823: ALF-7237: Index tracker needs to perform a cascade reindex on updated nodes in order to cope with node moves
      28406: ALF-8607: Improvement to FTS fix. Prevent FTS from restoring documents that have been deleted!
      28412: ALF-8607: Invalidate properties and aspects as well as parent assocs when stale cache entry dected during transaction tracking
      28427: ALF-8607: Prevent NPE with bad NodeRef in ADMLuceneIndexerImpl.createDocumentsImpl()
      28705: ALF-8607: Validate transaction IDs when fetching parent associations
      - Compare the cached child node transaction ID against one fetched from the DB
      - Stops us from pairing up the cached node for an older or newer transaction with the wrong parent associations
      28707: ALF-8607: Merged PATCHES/V3.3.4 to PATCHES/V3.4.1
         28588: ALF-7237: Prevent FTS from ever wiping out a document that still exists and ignore duplicates
      28708: ALF-8607: Make FTS capable of recovering from cache concurrency issues by using a RetryingTransactionHelper and better exception handling.
      - Also avoids skipping the entire batch when the reindexing of a particular document fails.
      28710: ALF-8607: Corrected transaction delineation
      28753: ALF-8607: Prevent errors caused by AbstractReindexComponent diagnostics trying to parse FTSREF document IDs as NodeRefs (which they aren't!)
      28755: ALF-8607: When 'failing over' during FTS indexing, don't bother adding a FTS status document so we don't get stuck in a loop with a problematic document
      28815: ALF-8607: Do two way validation of cached / fetched nodes and their parent associations to avoid skew
      - Should resolve problem of tracking moves to the archive store and moves in general
      28862: ALF-8607: Lucene indexers now support 'read through' behaviour for FTS and Index tracking batches
      - Small discrete read only transactions used to read each reindexed node from the database / cache
      - Avoids cache 'drift' and 'skew' after long running indexing transactions
      28863: ALF-8607: Missing file
      28869: ALF-8607: isTxnPresentInIndex() needs to 'read through' so index tracker and checker don't pollute the cache
      28872: ALF-8607: Optimization to prevent constant writing to AVM indexes whilst 'ticking over'.
      28950: ALF-8607: Improved logic in AbstractReindexComponent.isTxnPresentInIndex() so that we can reliably cope with multi-store transactions (e.g. archive store + spaces store)
      - Due to FTS, the txn ID may have 'drifted in' to one store but not the other so we must validate all stores in the txn
      29098: ALF-8607: Use getNodeRefStatus as a cache validation point for reindexing 'read through' transactions
      - Guarantees that FTS reindexed node will see correct state (well if we had consistent read behaviour it would!)
      - Removes stale nodeRef -> ID mappings (e.g. when original node moved to archive store and substituted with deleted node)
      - Inexplicably seems to produce a ~30x speedup in performance tests on MySQL! Appears to remove a contention point. More investigation required to find out what!
   29287: ALF-9598: Merged PATCHES/V3.4.1 to V3.4-BUG-FIX
      28653: ALF-9189: More efficient usage of IndexReaders to avoid huge memory churn with large indexes
      - A single reading thread could block out all other reading threads because a write lock is obtained whilst constructing a set of FilterIndexReaderByStringId readers and all deletions across all indexes have to be evaluated. We now cache a FilterIndexReaderByStringId for each 'layer' of the index so that we get some reuse. We also defer evaluation of deletions to AFTER the write lock is returned and in some cases never have to evaluate the deletions at all.
      - When merging deletions we now make use of a cached index reader for locating the documents, and only resort to a new reader if deletions have to be performed. Hopefully this will mean that the reader for the largest indexes, containing the least recently used stuff, will get left alone most of the time. 
      28690: ALF-9189: Corrections to previous fix
      - Forgot to remove non-lazy reader initialization
      - Fixed NPE
      - Reinstated correct looping behaviour - each processed delta must be considered as one of the indexes to search for the next processed delta
      29099: ALF-9189: Avoid having to allocate a byte array full of number ones for all occurrences of a term to 'fake' norms.
      - Severe Lucene memory hog during FTS
      29262: ALF-9189: Fixed memory leak during index tracking / reindexing and further memory leak regression
      - Fixed up Lucene refcounting again - remember to propagate through decrefs on ReferenceCounting readers
      - Refined ALF-9189 fix to guarantee mainreader clean up
      - Remember to flush the delta during reindexing / tracking
      - Some extra trace diagnostics to help
   29288: ALF-9600: Merged PATCHES/V3.4.1 to V3.4-BUG_FIX
      28876: ALF-9041: Merged HEAD to PATCHES/V3.4.1
         28850: Latest SpringSurf libs
            - Fix to SSO connector passing empty username
   29289: ALF-8241: assemble-tomcat populates endorsed directory with xalan.jar and serializer.jar and Bitrock installer installs these too
   29291: Merged DEV/SWIFT to V3.4-BUG-FIX (3.4.4) - already merged to HEAD as part of a larger merge
      26104: RM: Remove incomplete and unnecessary unit test     
   29302: Fix for ALF-8885 - Unable to paste item due to system error:null


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29325 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-25 19:32:17 +00:00
Derek Hulley
18a50d8532 LockDAOTest: Add additional concurrency check to handle test running against clean repo
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29290 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-25 08:23:26 +00:00
Derek Hulley
3b95ca79da Beefing up testConcurrentLockAquisition
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29273 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-22 10:20:32 +00:00
Derek Hulley
5d6d9a1574 Increased lock timeouts in testExclusiveLockBlockedByShared from 100ms to 5000ms.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29164 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-19 08:47:04 +00:00
Derek Hulley
6ec3f44c29 Merged DEV to HEAD
- ALF-8806 RINF 41: Lucene Removal: Fix CopyService
     - ALF-9028: RINF 41: Fix Aspect cm:copiedFrom
   - ALF-9029 RINF 49: Lucene Removal: CheckOutCheckInService API
     - ALF-9032: RINF 49: fixes to cm:workingcopy aspect

   28996: Dev branch for De-Lucene work pending patches
   29004: Evaluator runs in read-only txn
   29006: Additional PermissionCheckedCollection.create method
          - Use an existing collection's permission check data (cut-off, etc) to wrap a new collection
   29007:
          CopyService and CheckOutCheckInService refactors to remove Lucene
          
          CopyService:
          
          Removed cm:source property from cm:copiedfrom aspect and replaced with a cm:original association.
          Added CQ-based APIs to query for copies
          Added APIs to support bi-directional walking of copy association
          Fixed sundry uses of cm:copiedfrom esp. all uses related to cm:workingcopy
          
          CheckOutCheckInService:
          
          Check-out now creates a source aspect cm:checkedOut with 1:1 relationship to cm:workingcopy via cm:workingcopylink
          Removed explicit use of cm:workingcopy aspect and replaced it with calls to COCI API
          
   29083: Audit tests fail when indexing is turned off.
          Also removed a getReader() call during rule evaluation, leading to a 'sub-action' read being recorded.
   29113: NodeDAO.getNodesWithAspects supports paging
   29135: Removed unused patch queries
   29139: Basic patch (still terminates with error) to upgrade cm:copiedfrom and cm:workingcopy
   29157: Tested patch for cm:copiedfrom and cm:workingcopy aspects


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29159 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-19 03:22:11 +00:00
Derek Hulley
f54c5e8bf5 Build fix: Relax tests now that Integer.MAX_VALUE is allowed for the row limit
- ALF-7167 (RINF 11) - CQ


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28750 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-01 10:51:36 +00:00