3928 Commits

Author SHA1 Message Date
Steven Glover
3d6b44bbdf Initial commit for ALF-10419:
- Bulk Filesystem Importer
- Adapted from work by Peter Monks (see http://code.google.com/p/alfresco-bulk-filesystem-import) and Romain Guinot
- Refactored to limit repeated code
- Refactored to use the Bulk Processor
- Currently limited to one bulk import at a time (enforced by lock service)
- Unit tests added
- Some fixes applied
- Performance tests; tried different filesystem "walking" strategies
- Still to do: yui dependencies - are these necessary?

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31100 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 18:45:00 +00:00
N Smith
717e89267e ALF-10143 Now Form processors convert property values from String to the appropriate type as specified by the property's DataTypeDefinition when the form is persisted.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31096 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 15:15:25 +00:00
Mark Rogers
8f3116a501 ALF-10659 - CIFS PseudoFiles link hardcoded to Alfresco explorer
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31095 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 15:07:22 +00:00
Derek Hulley
e210b313b4 Fix javadoc as per ALF-10711
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31094 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 15:07:18 +00:00
Nick Burch
161359b39c Add a debug log statement at the end of the metadata extraction process, to report the raw values and the mapped+accepted properties
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31090 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 14:53:03 +00:00
Kevin Roast
8d2f8a159d Fix for ALF-7654 - Share content upload performs several updates to cm:content property
- added specialised write(content) method to ScriptNode to allow the mimetype, encoding etc. to all be calculated and applied in a single call.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31088 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 14:34:21 +00:00
Andrew Hind
6d41e3f0bd Fix for ALF-10641 SOLR tracking fails for residual properties when there is no model that defines the prefix for the URI
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31085 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 13:41:06 +00:00
Andrew Hind
052d824a9e Fix for ALF-10627 SOLR: search.query() no longer honours page.maxItems parameter
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31084 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 13:39:22 +00:00
Kevin Roast
5140758b93 Fix to issue where if used is a member of more than 1000 sites it is possible to cause listSites (for a user) to pass too many results to the NodeService API (which has a fixed maximum limit of 1000 entries)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31083 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 13:35:55 +00:00
Dave Ward
52c0d4ddca Merged V3.4-BUG-FIX to HEAD
30947: ALF-10619: Merged PATCHES/V3.1.2 to V3.4-BUG-FIX
      30884: ALF-10588: Another possible race condition resulting in out of sync transactions - found on SQL Server and JBoss in 3.1.2
         - FTS could process updated and deleted nodes in the same transaction before the tracker got to them, leaving behind the correct transaction ID and deleted nodes but undeleted container docs!
         - We now have to validate all deletions have been honoured when index tracking
      30890: ALF-10588: Temporarily disable FTS during IndexCheckServiceImplTest
         - Otherwise can get confused by intermediate FTS state of its own nodes!
      30894: ALF-10588: Correction to deletion checking
         - Only search for deleted nodes, not updated ones too!
   30948: ALF-10619: Fixed merge issue
   30982: - ALF-10503 60k Site Performance: Admin Console | Groups: search with a value that matches all 60 groups: maxClasuesCount=10000
   - ALF-10511 60k Site Performance: Admin Console | Users | Edit User | Group Search with a value that matches all 60 groups: maxClauseCount=10000
   - ALF-10608 60k Site Performance: Searching for a group to add to a site with a value that matches all 60 groups: maxClauseCount=10000
   - ALF-10515 60k Site Performance: Edit Group Display Name: The first time, nothing appears to happen for 10 seconds after pressing [Save]
   - ALF-10514 60k Site Performance: Admin Console | Groups | Search | Delete Group: no feedback to user for 20 seconds after clicking delete icon
   30985: Increases in node, property and aspect caches.
   30987: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      30984: ALF-9880 : ContentGet web script throws NullPointerException for nodes missing cm:modified property
         The check for null was added for cm:modified property (similar to BaseDownloadContentServlet).
   30995: Fix for ALF-9021
   30996: ALF-10324 Cannot disable Home Folder Creation
      - Bug introduced into V3.1 on the 8 March 2010
      - ChainingUserRegistrySynchronizerTest enhanced to check for this
      - Fix to PersonService: Home folder was not being created for 'missing' persons
      - PersonService: Changed autoCreate parameters to more descriptive names (okay long) and updated Javadoc
   30998: ALF-10512 60k Site Performance: Clicking on Sites (left hand side) in the Repository browser causes transactional limit to be reached
     - Changed node, aspect, property and parentAssoc cache sizes (based on Derek's Skype message)
   31006: ALF-10512 60k Site Performance: Clicking on Sites (left hand side) in the Repository browser causes a transactional limit to be reached
     - Having changed cache sizes in previous commit, the nodeOwner and acl transactional caches were then blown with test case for ALF-10512
       Changed to 20k from 10k. Tried 15k but it still had a problem.
   31052: Fix for ALF-10520
   Merged HEAD to V3.4-BUG-FIX
      31051: Performance improvements for Share Repository browser queries.
             DB with ~50,000 nodes under Company Home:
             Before:
             - I'm Editing - 16 secs, Favorites - 17 secs, Tag - 14 secs
             After: 
             - I'm Editing - 1.5 secs, Favorites - 1.2 secs, Tag - 1.25 secs
   31058: ALF-10324 Cannot disable Home Folder Creation
      - ChainingUserRegistrySynchronizerTest check using personService with both eager and non eager home folder creation
   31064: ALF-9360: Merged PATCHES/V3.4.4 to V3.4-BUG-FIX
      30244: Merged DEV/DAVEW/IMAP_NEW to PATCHES/V3.4.4
         29635: Rework of IMAP to use lightweight caching and correctly set UIDVALIDITY, NEXTUID and Marked / Unmarked state
         29668: 1. Changed get AlfrescoImapFolder.getFullNameInternal to be dynamic for cache support
         29692: 1. Reverts changed in AlfrescoImapServer to allow ImapHostManager to be a session key for folder.
         2. getFlags relies on FileInfo.getProperties()
         29741: 1. Changed AbstractMimeMessage.updateMessageId() to follow RFC2822 (3.6.4. Identification fields)
         2. Changed ImapServiceImpl to handle absent folders and return "NO" reply to a client.
         3. Changed ImapServiceImpl that behaviours don't fail when Alfresco is being first time bootstrapped with IMAP enabled.
         4. Cleared AlfrescoImapFolder constructor. 
         5. Fixed SelectCommand's response to adhere RFC3501 (6.3.1.  SELECT Command)
         6. Fixed CommandParser to be able parse the flag which is not surrounded by braces (STORE 2:4 +FLAGS \Deleted)
         30235: Completion of IMAP rework
         - Scalable caching
           - Proper transactional cache for assembled messages
           - No more assumption that EHcache will always hold entire folder set at once (and perhaps it can't)
           - Per session (TCP connection) cache of accessed folders
           - Session cache validation via a 'change token' that is incremented on all significant events
           - Folder status attributes evaluated once and reused until the change token changes
           - Now only changed folders need to be queried on an IMAP sync and the server doesn't have to hold all folders in memory
           - User's view is consistent with their security permissions
         - Simplification / overhaul of ImapServiceImpl including efficient recursive path building and matching
         - AlfrescoImapFolder immutable as it should be
         - Greenmail fixes
            - Fixed quoting of mailbox names
            - Fixed hanging problem in ImapRequestLineReader - regression caused by our 8 bit encoding fix. Avoid using an InputStreamReader to read ISO-8859-1 bytes as it has an internal buffer.
      30275: Fix failing IMAP tests broken by my recent refactor!
      - Fixed greenmail conversion of ISO-8859-1 bytes to chars
      - Transaction read write attributes on service
      - Read only commands on AbstractImapFolder
      - Imap aspect properties must be managed as SYSTEM user
      - Restored persistence of new mail messages
      - Avoid unit test txn rollback woes by making it possible to check for existence of a path with FileFolderService
      30487: ALF-10268: Merged V3.4-BUG-FIX to PATCHES/V3.4.4
         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
      30540: ALF-10257: Fixed logic error introduced into Greenmail ImapRequestLineReader
      30988: ALF-9361: Merged DEV/DAVEW/IMAP_NEW to PATCHES/V3.4.4 (by Arseny)
         30419: Remote test for generic client request sequence.
         30547: 1. A bug with FetchCommand particularly with FETCH (BODY.PEEK[1]) with an error 
            1315912197.789640 1.5 NO FETCH failed. java.lang.String cannot be cast to javax.mail.internet.MimeMultipart
            This happened while message content is being proceeded like MimeMultipart mp = (MimeMultipart) mimeMessage.getContent();, but javadoc of mimeMessage.getContent() says that this content can be a String in case of non-multipart message. Fixed FetchCommand accordingly to mimeMessage.getContent() javadoc. 
         2. A bug with RFC822MetadataExtracter 
            When mimeMessage.getHeader("received"); is used with the message with following header 
            Received: with ECARTIS (v1.0.0; list dovecot); Tue, 06 Aug 2002 13:01:17 +0300 (EEST) 
            It doesn't extract a date, because it uses lastReceived.indexOf(';') which returns the position IN the ECARTIS (v1.0.0; list dovecot) after v1.0.0, 
            So it should use lastReceived.lastIndexOf(';') to get the position after ECARTIS (v1.0.0; list dovecot). 
      31025: ALF-9361: IMAP Performance
      - Introduced folder status MRU cache
      - Keyed by user ID and change token so no need to cluster
      - Now means we should get reuse across IMAP sessions
      - Also fixed isMarked() implementation to only return true if there are recent or unseen mails
      31038: ALF-9361: Prevent the starting of unnecessary transactions in AlfrescoImapFolder interface
      - getFolderStatus regulates its own transaction
      - Dropped all those *Internal methods from the abstract class
      - getUnqualifiedMailboxPattern moved to AlfrescoImapHostManager
      - Fixes to session folder cache validation / reuse
      31039: ALF-9361: Repository tuning for IMAP performance
      - Backed out ALF-5575 60 second timeout on node caches - Should be covered by ALF-8607 fix
      - Also made TransactionalCache.NewCacheBucket save new values to the shared cache for 'mutable' caches. Previously it was only possibly to load into the node caches in a read only transaction!
      - Also added fix to make AbstractNodeDAOImpl bulk load empty node aspect sets
      - Result is a drastic speedup of full sync times as most items can be served from the cache`
      31042: ALF-9361: Fix ImapServiceImplTest
      31048: ALF-9361: Make ConcurrentNodeServiceTest work again, after relaxation of 'mutable' transactional caches
      - aspect and property caches validated by node transaction ID, as per parent assocs in ALF-8607
      31050: ALF-9361: Caching correction
         Always use the cached mailbox reference if it is equivalent (because the session remembers the last selected mailbox)
      31060: ALF-9361: Fix CacheTest, following back out of ALF-5575 behaviour
      31061: ALF-9361: More caching fixes
      31062: ALF-9361: Undo accidental changes to ConcurrentNodeServiceTest
      31063: ALF-9361: Build fix: replaced assertSame with assertEquals


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31079 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 12:07:32 +00:00
N Smith
002183da91 Fixed failing Activiti Workflow tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31073 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-10 10:55:51 +00:00
Brian Remmington
b66a76f001 Publishing: Added "publish-content" action to provide easy access to the publishing service.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31057 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-07 17:13:47 +00:00
Kevin Roast
5b87277b9d More performance improvements relating to retrieving groups for workflow pooled tasks queries.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31047 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-07 14:34:10 +00:00
Frederik Heremans
a5e1994c86 ALF-10598: Activiti now offers single query for multiple candidate groups + hooked into ActivitiWorkflowEngine
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31041 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-07 12:07:55 +00:00
Jan Vonka
cea3e35b55 Fix WorkflowTestSuite
- fallout from r30993 (and earlier r30270) - we should never have null tenant domain

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31026 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-07 08:29:01 +00:00
Nick Burch
1520fbe1d9 Add @since tags where known, and do a quick coding standards sweep
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31023 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-06 21:29:50 +00:00
Derek Hulley
e0483f9b36 Fixed ALF-9591: Integrity check: Association source multiplicity checking is incorrect
- Drop checks for source multiplicity when no associations are pointing to a type/aspect instance


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31018 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-06 17:36:03 +00:00
Nick Burch
9f60d2b246 Update the MP3 extractor to output audio keys (related to ALF-6170), and refactor the audio extractors to share more common code. Also expands the audio extractor tests to share common code, and test more metadata. (Needed for devcon demo)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31013 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-06 16:17:06 +00:00
Nick Burch
e180abafe4 ALF-9981 Add the valueSeparator property to migrated legacy config files, to match what the new ones have in spring
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31012 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-06 16:13:55 +00:00
Jan Vonka
4b6325059e ALF-9957 - MT: test and fix subscriptions (followers)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30999 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-06 12:16:59 +00:00
Jan Vonka
fddcc01209 Merged BRANCHES/DEV/THOR1 to HEAD:
30966: MT: rationalise getDomain(...)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30993 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-06 10:07:05 +00:00
Matt Ward
2737d0f8b0 Merged BRANCHES/DEV/THOR1 to HEAD:
30970: THOR-217: when the quota is met or exceeded, then next time the cleaner runs it must use some strategy to make some space



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30974 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-05 12:36:17 +00:00
Brian Remmington
f3446b3baa FTR: Improved transaction scope to provide better resilience.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30973 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-05 12:14:42 +00:00
Nick Burch
9416ba257e Tweak the calendar service test to track a couple more test nodes that always need to be deleted no matter what at the end
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30957 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-04 22:36:13 +00:00
Matt Ward
43a7b41d3f Merged BRANCHES/DEV/THOR1 to HEAD:
30458: ALF-10100: need to be able to apply %age or abs disk space usage constraints on ${dir.cachedcontent}
   30573: ALF-9613: Add min age of files checking to cached content cleaner
   30594: ALF-10100: added more sensible default in sample config for quota size (4GB)
   30695: ALF-10391, ALF-10392: Added MBeans and improved logging for monitoring purposes.
   30850: THOR-202: CachingContentStore quota manager should reject large files
   30901: Added warn-level logging about failure to cache content item
   30951: THOR-217 - when the quota is met or exceeded, then next time the cleaner runs it must use some strategy to make some space.





git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30956 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-04 18:08:22 +00:00
Mark Rogers
aab0ceb805 ALF-1878 : Duplicate incoming email Subjects over-write each other
new configuration property email.handler.folder.overwriteDuplicates added, defaults to true so existing behaviour is maintained.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30952 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-04 15:34:18 +00:00
Kevin Roast
b50a208a59 Tweaks to patch performance.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30950 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-04 12:40:53 +00:00
Alan Davis
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
2011-10-03 16:23:14 +00:00
Andrew Hind
2f3b8a19bd Fix for ALF-10121 Unit test hanging in shutdown hook waiting for FTS
- accidental interface loss ...

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30923 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 14:20:53 +00:00
Mark Rogers
1c779e6ff3 Merge V3.4 TO HEAD
30844 : ALF-9544 Inbound email restricts file name to 86 characters or less.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30920 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 13:51:54 +00:00
Andrew Hind
c8763bec54 Fix for ALF-10121 Unit test hanging in shutdown hook waiting for FTS
- should be in catch and not finally

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30917 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 13:43:31 +00:00
Andrew Hind
bb4d9761ee Fix for ALF-10121 Unit test hanging in shutdown hook waiting for FTS
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30916 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 13:33:08 +00:00
Derek Hulley
513358e20a Fixed ALF-10602: FileFolderService methods not registered in MLTranslationInterceptor
- Added exists() and listDeepFolders() methods to interceptor lists


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30915 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 13:21:42 +00:00
Kevin Roast
6c517ea99a Fix to AVM->ADM Share Site migration patch to disable rules during node processing
- recent changes (unsure which...) mean that somewhere in rules services a RunAs(system) is interfering with the RunAs(user) already set on the outer txn - this means that all Share sites migrated from 3.X to 4.0 in the last couple of weeks (including Community 4.0a) will not have the correct user permissions.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30914 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 12:49:32 +00:00
Mark Rogers
9687430000 ALF-1966 - Inbound email supports STARTTLS by default - however this requires Java + SSL configuration to be done to work
Updated to latest SubEtha lib and added three new configuration properties.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30913 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-03 12:07:55 +00:00
Gavin Cornwell
47d139e530 Fixed ALF-10540: Test disabled: ActivitiWorkflowRestApiTest/JBPMWorkflowRestApiTest testReviewPooledProcessFlow
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30887 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-30 23:03:35 +00:00
Gavin Cornwell
e61f82058f Fixed ALF-10539: Test disabled: SiteServiceImplTest testJSAPI
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30886 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-30 23:01:45 +00:00
Andrew Hind
c5f94ae12e Fix for ALF-10561 SOLR stops indexing if it is given a property that is neither indexed or stored - it throws an exception
Fix ALF-10358 	SOLR No easy way to get the current last TX indexed to monitor how the SOLR index is building

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30857 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-29 14:28:46 +00:00
Frederik Heremans
c3fe5d4b53 ALF-9727: Querying using NodeRef type now uses ActivitiScriptNodeVariableType insead of ByteArrayVariableType (which isn't queryable) + fixed activiti components text-context
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30848 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-29 12:07:46 +00:00
Frederik Heremans
5866905265 ALF-9727: Querying using NodeRef type now uses ActivitiScriptNodeVariableType insead of ByteArrayVariableType (which isn't queryable) + fixed activiti components text-context
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30847 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-29 12:07:28 +00:00
Mike Hatfield
da831724d7 ALF-10549 - VtiServerCustomResponse bean definition missing ScriptUtils bean ref. (and not suppressed from Repo browser)
Trivial tidying to associated files.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30839 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-29 09:11:59 +00:00
Roy Wetherall
79508da9fc Google Doc Integration: Fix system unit test failures
* Fixed spreadsheet download
  * Refactored use of DocService to improve reliability
  * Reuse security tokens 
  * Consolidate code as a result of above changes



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30832 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-29 00:15:38 +00:00
Gavin Cornwell
acb0bbf7ee Fixed ALF-10541: Test disabled: BlogServiceImplTest findBlogPostsByPublishedDate and testCreateDraftPostWithTagsAndComment
Fixed underlying issue and re-instated the tests.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30825 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-28 15:29:41 +00:00
Gavin Cornwell
41600c95ba Disabling failing tests while I investigate.
Raised as ALF-10539, ALF-10540 and ALF-10541

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30821 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-28 12:03:58 +00:00
Brian Remmington
5514dd9bc2 Publishing: Corrected (or created) Javadoc comments for classes
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30819 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-28 10:17:29 +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
N Smith
f4830cff15 ALF-10374 Fixed failing MultiTDemoTest.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30796 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-27 11:43:52 +00:00
Brian Remmington
2fd91d87c2 Fixed ALF-10333: Publishing: Multiple publishing events are processed sequentially rather than in parallel
Publishing: Remove some operations from the Channel and ChannelType interface that really shouldn't be exposed. Also removed the PublishingQueue interface - the two operations it had are now on the PublishingService.
WQS: Removed obsolete references to publishing channels.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30794 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-27 11:23:19 +00:00
Dave Ward
590f665d63 Merged V3.4-BUG-FIX to HEAD
30783: Merged DEV/ALAN/SITE_PERF to V3.4-BUG-FIX
      30782: Build fix: Removed corrupted UTF-8 encodings merged into ADMLuceneTest


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30787 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-27 09:18:13 +00:00