210 Commits

Author SHA1 Message Date
Dave Ward
e18ab791d7 Merged V3.4-BUG-FIX to HEAD
31072: Incremented version.revision for 3.4.7
   31082: Merged DEV to V3.4-BUG-FIX
      31077: ALF-9661: Adding or removing associations does not trigger 'update' rule.
             1. Unit test for replicating.
             2. SingleAssocRefPolicyRuleTrigger now handles trigger of the rules on the list of parents.
   31115: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      30992: ALF-10029 : Webdav error when document type is missing
         Correcting directory listing. Display reader's mimetype if display label for mimetype couldn't be found.
   31116: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      31114: ALF-10309 : CLONE -WebDAV - Canceling "save as" upload will create 0 byte content
         Logic was added to PutMethod that removes empty files if a save operation is cancelled or fails.
   31157: ALF-10757: Merged HEAD to V3.4-BUG-FIX
      31154: Synchronize file writes from CIFS. ALF-10721.
   31188: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      31176: ALF-9979: Error thrown when adding user(s) to group in explorer if user already exists in group
         Implemented checking of the user presence in the particular group using getAuthService().getContainedAuthorities()
   31189: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      31174: ALF-9684: CMIS AtomPub: The combination of includeRelationships=both and returnVersion=latestmajor returns an internal server error
         Try-catch block was added for nodeService.getSourceAssocs(node, RegexQNamePattern.MATCH_ALL) operation. This operation is not supported for a version store.
   31190: Merged DEV/TEMPORARY to V3.4-BUG-FIX
      20694: ALF-925: "title" property always gets populated with the name of a file when content without a file extension is added via Webdav.
         When user creates file through webdav, "title" property was populated with "name" property value.
         The code that was doing it has been removed. Now the title will be empty in such a case.
         This makes things consistent with CIFS and FTP, where you have to create a rule with action "Extract common metadata fields from content". 
   31217: ALF-10807: Share document download with SSL
   - Fix from Bitrock
   31226: ALF-10632: Added a sample configuration fragment for war-deployers-jboss-beans.xml because it's rather tricky to publish the correct configuration in the docs!
   31265: ALF-9999 Cannot search pdf files, which are written vertically.
      Sample configures PdfMiner as the pdf -> text and ??? -> pdf -> text transformer rather than PDFBox.
      PdfMiner is slower but does handle vertical text.
   31268: ALF-9093 Alfresco incapable of previewing text files including non Western European characters
      Sample file that configures OpenOffice as the default handler for text to PDF conversions
   31304: Merged BRANCHES/DEV/BELARUS/HEAD-2011_10_05 to BRANCHES/DEV/V3.4-BUG-FIX:
      31291: ALF-9460 : Archived discussion posts break display of the discussed node when users do not have access to the trash can
   31313: Fix for JBPM security issues with timers and async tasks.
   ALF-10776: Workflow timer fires a policy that causes a AuthenticationCredentialsNotFoundException
   ALF-6405: SecureContext issue if task node async property is set to "true"
   31314: Fixed ALF-10373 "There is no path to the folder for "Move" action inside the rule's description."
   31361: Fixed ALF-10930. Incorrect description of 'xam.archive.forceBackgroundStoreMove'
   31366: ALF-3756 - original fix didn't cope with existing MLText having one or more language variants. 
   ...upgrading to the fix would therefore not solve the problem properly. For example, if a property has en_GB text in it, then 'updating' that property with a locale of en_US will result in the addition of the en_US text rather than a true update (they're both English, and using two slightly differently configured browsers in this way leads to confusion).
   31387: ALF-10740: Flash upload - Working Copy label not removed on check in if non english locale is used in Share client   
   Two separate problems were fixed:   
   * Locale string as supplied by the flash uploader was being placed into the language portion of the Locale object in java, therefore no proper match was made when looking up the working copy label (e.g. "(Working Copy)") - fixed by using a proper locale string parser as supplied by Surf.   
   * Working copy label could still fail to be removed if document was checked out under one locale and checked in using another. Fix provided by recording the *original* working copy label against the cm:workingcopy aspect.   
   31395: ALF-3756: fixes broken FullNodeServiceTest
   31399: ALF-3756: fixing build failures from -c31366 (VersionServiceImplText.testRevert()) 
   A ConcurrentModificationException was being thrown, have changed the way that the hashmap is processed to avoid this.
   31401: Fix for ALF-2980
   31410: Fix for ALF-10961 - Share - Sites not displayed on dashboard
   31418: ALF-10768 Environment variables are being used to replace property placeholders in xml configuration files
      Modified ALL spring beans that are a PropertyPlaceholderConfigurer (including sub classes) and the 
      PropertyPlaceholderConfigurer created ChildApplicationContextFactory so that OS environment variables
      are not used in property place holder substitutions. Spring 3 started allowing OS environment variables
      to be used by default. This may explain why we have so many install problems.
   31420: ALF-3756 another compile error: This time StoreSelectorAspectContentStoreTest
   31425: ALF-10740: Fix from -c 31387 (compilation error)   
   This fix is in addition to -c31420. The compilation error was due to me not having the bug fix branch configured as an enterprise project.
   31458: Fix for ALF-10916
   31459: Fix for ALF-10915
   31482: ALF-10915
     - Fix build
   31491: Various oplock, access mode and CIFS protocol fixes ported from v4/HEAD. ALF-10331.
   31492: File open access mode checks ported from v4/HEAD. ALF-10331.
   31529: ALF-11144: NPE during incremental LDAP sync
   31530: Fixed ALF-11139: Audit concurrency exceptions do not trigger transaction retries
    - AuditMethodInterceptor allows audit exceptions to propagate out
   31606: ALF-10309 CLONE -WebDAV - Cancelling "save as" upload will create 0 byte content
       Changed name of aspect to be WebDAV specific (rather than using a CIFS value), so that it might be possible to tidy these up in future.
   31638: Fix for ALF-10597 - Share - Upload new version issue - OK button displayed during refresh
   31639: Fix for ALF-10297 JSF - Sort by First/Last Name in Groups Management not working
   31641: ALF-9776 - Fix for WCM - it allows users to submit contents to Staging with past Launch and Expiration Date
   31653: ALF-8906: Ensure entire IMAP service startup transaction runs as system, to allow for any auto-aspect adding / versioning during cache warming
   31654: Merged V3.4 to V3.4-BUG-FIX
      31327: ALF-10878 Merged HEAD to V3.4
           30225: ALF-10001 Update SiteService.listMembers to check group display names as well as group names, plus test
      31329: Merged V3.4-BUG-FIX (3.4.7) to V3.4 (3.4.6)
         30992: ALF-10029 : Webdav error when document type is missing
            Correcting directory listing. Display reader's mimetype if display label for mimetype couldn't be found.
      31462: ALF-10010 Document can not be found even after a full reindex.
         Sample configures xpdf as the pdf -> text and ??? -> pdf -> text transformer rather than PDFBox.
      31478: Merged BELARUS/V3.4-BUG-FIX-2011_10_13 to V3.4 (3.4.6)
         31460: ALF-10952: User is unable to edit own profile using Alfresco Share
            To compare two objects it needs to use equals() method instead of ==.
            Such a check was changed in UsageQuotaProtector.onUpdateProperties() method.
      31502: ALF-10324 Cannot disable Home Folder Creation
         2nd part to the problem. Folders were being created when "Show all" was pressed in the UI
      31504: Fix for ALF-9589 - Share - Advanced Search is not IE7 compatible for other themes
      31531: ALF-10324 Cannot disable Home Folder Creation
         There is a knock on effect to ContentUsageService when the user does not exist and we are not allowed to create missing users.
         Resulted in 2 DMDeploymentTargetTest failures
      31532: ALF-10955 No pooled task created for moderated site managers if any user requested to join
         Going with David Wards suggestion of still using getContainingAuthoritiesInZone with a null zone and a cut off at 100.
         The 100 might be too small, but probably is okay.
   31655: ALF-10187: Merged V3.3 to V3.4-BUG-FIX
      31180: ALF-9898: CIFS packet pool leaks
      - File state manager op lock break expiry thread was never getting started so some deferred packets were never getting released!
      - Synchronize around m_borrowed to prevent ConcurrentModificationExceptions in diagnostics
      - Synchronize around m_selector.keys() to prevent ConcurrentModificationExceptions during session reaping
      31244: Merged DEV/BELARUS/V3.4-BUG-FIX-2011_09_29_CIFS to V3.3
         ALF-10831: CIFS concurrency issues under load
            - Atomic synchronized write AND read operations in FileStateCache, TreeConnection, SrvSessionList, VirtualCircuit, VirtualCircuitList, ContentQuotaManager
      31245: Merged DEV/BELARUS/V3.4-BUG-FIX-2011_09_29_CIFS to V3.3
         ALF-9540: copy from drive to CIFS is slower than direct drive to drive copy by a factor of ~ 15
         - batchRemoveRequest added to ThreadRequestQueue, meaning that not all incoming packets are scatter-gunned across different worker threads and reducing context switching
         - Arseny's tests show that combined with 3.4.6 changes, the factor is now under 2!
      31246: ALF-9898: Merged HEAD to V3.3
         31154: Synchronize file writes from CIFS. ALF-10721.
         31233: Fixed a possible memory leak in the CIFS oplock timeout handler.
      31273: ALF-9540: Reversed batchRemoveRequest changes
      - Review by Gary. Thread pool may not be utilized properly when multiple virtual connections are being handled at once.
      31576: Changes to the CIFS idle session reaper so that it runs in the main socket event thread. ALF-9898.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31657 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-11-02 23:22:24 +00:00
Roy Wetherall
1964bde460 ALF-10424: Add Task 'Message' text in workflow email notification
* Added missing patch to update templates.



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31300 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-18 01:37:44 +00:00
Roy Wetherall
a14c0107da ALF-10424: Add Task 'Message' text in workflow email notification
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31260 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-10-17 05:52:08 +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
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
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
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
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
N Smith
eb3404c462 ALF-10197, Added the ability to auto-complete Start Tasks in Activiti. If a start task extends the bpm:activitiStartTask type or implements the bpm:endAutomatically aspect then the task will be ended as soon as the workflow instance is started.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30750 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-25 17:13:56 +00:00
N Smith
b385e57f87 ALF-10084, ALF-10242. Fixed issues and added WorkflowService methods to get workflow instances without filtering by definition id.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30699 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-22 11:16:20 +00:00
N Smith
6d46ef90ec Added tests to ensure multi-tenancy works and fixed several multi-tenancy issues in workflow.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30563 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-16 09:34:02 +00:00
Frederik Heremans
d6c6c4ec5b Activiti's BPMNParseListener now contains method that is called when all definitions have been parsed in a single deployment, allowing to change ProcessDefinition key for multi-tenancy, after process-diagrams have been generated.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30415 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-12 08:47:16 +00:00
Gavin Cornwell
5f14a5105b ALF-10117: JBPM workflows should be hidden.
A new property "system.workflow.jbpm.definitions.visible" has been added, set to false by default. This means that when the JBPM engine is enabled (the default for upgrades) in-flight workflows can continue but the JBPM definitions will not be returned and therefore hide them from the UI preventing new instances from being created.

If customers want to show the JBPM workflows again all is required is to set the "system.workflow.jbpm.definitions.visible" property to true.

The Workflow MBean has also been updated to expose the new property and the Workflow admin console now displays the value.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30356 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-08 21:49:35 +00:00
N Smith
3a1e062836 ALF-9492 Can now update task properties through the Workflow JavaScript API.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30288 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-07 09:02:59 +00:00
N Smith
6fccccb72a git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30270 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 2011-09-06 15:05:59 +00:00
Gavin Cornwell
79093bd8ae Coding standards and consistency sweep across new services code in repository project.
Covers spacing, trailing {, @since tags, tabs and copyright headers.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30211 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-09-02 21:10:49 +00:00
N Smith
2489bf0bdf Finished refactoring InvitationServiceImpl to use Activiti worklfow engine.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30084 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-26 10:17:35 +00:00
Frederik Heremans
578a58bbc8 ALF-9693: Social publishing now using the activiti process definition + fixed issue with activiti process without wait-state
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30078 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-26 07:52:20 +00:00
N Smith
7386ef6f44 Fixed failing SiteServiceTest.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30025 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-24 13:21:07 +00:00
N Smith
c9eda64276 Fixed failing test caused by changes to ActivitiWorkflowEngine.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30019 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-24 09:56:52 +00:00
N Smith
fba09d9b2a Started efactoring InviatationServiceImpl so that it uses Activit workflow engine.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29990 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-23 13:24:42 +00:00
Gavin Cornwell
a9229b3ed6 Tweaked the updateTask method to only send notification emails if the assignee has changed (Explorer client always sends all properties on an update) and added check for null start task just in case!
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29945 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-22 12:22:16 +00:00
Roy Wetherall
557980f0af Workflow Notification:
* Activiti reassign notification hook working



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29937 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-22 07:01:32 +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
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
N Smith
6ee8c66098 Refactored the Invitation Workflow Actions and Delegates. Pulled most of the functionality out into an InviteHelper class.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29833 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-17 14:22:55 +00:00
Roy Wetherall
348cc9831f Workflow Notificatoins:
* Email notifications sent asynchronously
  * Activiti pooled tasks now work correctly



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29812 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-17 04:59:49 +00:00
Gavin Cornwell
4dd7311c98 Updated documents section of workflow email notification template to match Linton's styling and fixed task edit/details URLs
NOTE: You'll need to start with a clean database to see these changes.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29783 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-15 20:44:17 +00:00
Gavin Cornwell
2e1ace4604 Workflow Email Notification updates:
- Added email-notification control for use in "Start Workflow" forms, it's essentially a copy of the checkbox control but defaults to checked i.e. it ignore the field.value
- Updated form config to use new custom email-notification control
- Updated form config so 'Send Email Notifications' setting is shown on workflow summary page and start task forms
- Set the 'pooled' flag for Activiti tasks when sending notification

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29769 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-15 15:57:22 +00:00
Roy Wetherall
660690bbd8 Workflow Notification working for Activiti workflows
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29737 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-15 05:41:15 +00:00
Roy Wetherall
7430652942 Merged BRANCHES/DEV/WF-NOTIFICATION to HEAD:
29508: Workflow Notification - First Cut
     * Notification service to consolidate sending of user notifications (kinds of notifications are provided by Sprung in notification providers)
     * EMail notification provider implementation (uses standard Email action to send email)
     * Frist cut workflow email template (still needs lots of details added)
     * AMP, etc for email template
     * Hook point within Activit and JBMP implementations
     * Property added to model (startTask) indicating whether email notifications should be sent
     * Hook points sensitive to property
     * Wf forms updated to show property
  29703: Workflow Notification:
     * Remove AMP and replace with exploded XMl and template (easier to maintain)
     * Bootstrap updated
     * Patch added
     * Refactored hooks to use generic workflowTask object (tidies up helper methods)
     * I18n'ed messages
     * Task and work package information placed in template model
     * Email template built with reference to Lintons wire's (still needs some polish!)
     * Added Notification Servcice to Service Registry



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29705 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-12 04:26:24 +00:00
Frederik Heremans
59af491727 ALF-9693: Converted processes for WQS and Social publishing (Activiti)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29658 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-08-10 12:20:53 +00:00
Frederik Heremans
65cb62ceb8 ALF-9621 Added invitation (nominated and moderated) processes and JavaDelegate for activiti (WIP)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29449 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-29 08:31:38 +00:00
Gavin Cornwell
b3ce73691e Fixed ALF-9515: Activiti can no longer be disabled
Both Activiti and JBPM can now be "disabled" using the properties "system.workflow.engine.activiti.enabled" and "system.workflow.engine.jbpm.enabled", respectively. However, disabling JBPM is NOT recommended as several parts of the system are reliant on it. Furthermore, "disabled" just means the process definitions are not deployed and the engine is not registered with the WorkflowService, all DB tables etc. are still present. This means the engines can be disabled and re-enabled at will.

Also added back-end support for ALF-9392: More workflow metrics are required on the Workflow Console Admin Tool. An MBean is now available in Enterprise mode that provides the number of tasks, workflow definitions deployed and workflow instances in the system.

Added ENGINE_ID constant to JBPMEngine and globally replaced use of "jbpm" hard coded string.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29326 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-25 21:42:37 +00:00
Gavin Cornwell
81dfb2dd72 Fixed ALF-9398: Alfresco deployments in the Activiti Admin UI need to be more descriptive than "Nameless Deployment"
A new method has been added to WorkflowService that takes an additional "name" parameter. The WorkflowDeployer now passes the name of the file being deployed as the name parameter.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29240 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-21 10:21:21 +00:00
Alan Davis
86f9dfea17 Merge DEV/V3.4-BUG-FIX to HEAD (28799-28800,28864,28875,28879,28916,28941,28956,28970,28993)
28993: HomeFolderProviderSynchronizer: Provider used for LDAP to continue to use username as home folder name directly under .../app:company_home/app:user_homes
   Property spaces.user_homes.regex.pattern now set to "" rather than "^(..)" which would have given a single level hash structure.
   28970: Merge DEV/ALAN/HOME_FOLDER to DEV/V3.4-BUG-FIX
      28947: - Introduction of version 2 HomeFolderProvider2 and re-factor of version 1
        so that the code used to create the folders is now in the HomeFolderManager.
      - Re-factor homeFolderProviderSynchronizer to handle HomeFolderProvider2.
      - Addition of AbstractHomeFolderProvider.V2Adaptor to allow external providers
        that extend AbstractHomeFolderPathProvider to be handled by
        homeFolderProviderSynchronizer.
      28860: Minor change to class comment and removed unused imports
      28858: ALF-4727 Hashed home folder provider added and used by default for LDAP sync users  - based on Romain Guinot work.
      ALF-7797 HomeFolderProviderSynchronizer added to move existing users (normally those added by LDAP sync) into location preferred by home folder provider.
      - HomeFolderProviderSynchronizer bug fixes
        - tenant accounts supported for first time
        - addition of a phase to create parent folders before moving home folder to avoid a race condition
        - check for conditions that would result in FileExistExceptions as we don't want a the transaction to be discarded as this results in retries.  
      - HomeFolderProviderSynchronizerTest integration test including tenant services
      - HomeFolderManager now sets the HOME_FOLDER_PROVIDER if it uses a default when HOME_FOLDER_PROVIDER is not set.
      - AbstractHomeFolderProvider clears cache when path reset as it will be invalid.
      - UIDBasedHomeFolderProvider.createNewParent creates its own mutable List as the one passed in may not be mutable.
      28580: Save code changes - added comments to do with LDAP syn overriding the HFP value and related to this added a global property to keep empty parent folders. 
      28347: HomeFolderProviderSynchronizer
      - issue to do with new run of sync having created a user via UI that has a home folder as one of the parent folders.
      - issue to do with catching exception when creating temporary folder - transaction is gone
      - give up if error in any phase
      28298: Addition of HomeFolderPathProvider (based on Romain's work) and addition of HomeFolderProviderSynchronizer.
   28956: Merged DEV to V3.4-BUG-FIX
      ALF-9428: Multitenancy users not preserved after upgrade from 3.2.2.7 to 3.4.2
                - Provide correct RunAs context in FixUserQNamesPatch batching.
   28941: ALF-9361 : CLONE -sync Flat IMAP client with Alfresco is slow and inaccurate
   28916: ALF-9421 The AlfrescoJavaScript action now includes company home in the JavaScript scope.
   28879: Fixed ALF-9296: Alfresco Dashboard: Impossible to approve/reject task from My Tasks dashlet on My Alfresco
   28875: Fixed ALF-6329: SPANISH - Share, translation on Transfer Target configuration
   28864: Message:
   ALF-9430: RuntimeExec waitForCompletion logic is obscure
    - Only a single flag 'isCompleted'
    - Set flag in try-finally
    - Added notify()
   However, the wait() code doesn't, in practice, get called because the waitForCompletion is synchronized with the run()
   and is called a while after the reading thread is triggered.  So the logic is less obscure and safer for the finally.
   28800: File for rev 28799: ALF-9240
   28799: Merged DEV to V3.4-BUG-FIX
      28797: ALF-9240: Issue with adding an aspect with large multivalued list
             Added unit test to stress, but could not reproduce

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28995 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-13 16:47:03 +00:00
Brian Remmington
dc87333db5 Migrate codebase onto Spring 3.0.5. There is an issue with using annotation based test cases that I haven't got to the bottom of yet. I have posted on the SpringSource forum here:
http://forum.springsource.org/showthread.php?111842-ConfigurationClassPostProcessor-IllegalStateException-when-starting-test-case

As a workaround I have converted all such test cases so that they simply use the "normal" BaseSpringTest super class. Fortunately there were only eight or nine such classes.

Although I have run quite a number of tests on the result I haven't run every test there is, so there may be some fallout.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28904 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-10 21:42:21 +00:00
N Smith
04639c7930 Fixed failing workflow tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28895 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-08 15:18:15 +00:00
N Smith
7684f76b3b Fixed failing Workflow tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28857 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-07 15:44:59 +00:00
N Smith
0138ee4a45 Added a new REST method, publishing-events-query.post which allows you to query for publishing events based on id or published nodes.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28846 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-07-07 11:53:12 +00:00
Frederik Heremans
28161f0e2b Added method to find tasks based on workflow definition name (String instead of QName as in setProcessName)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28578 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-06-24 15:22:20 +00:00
Gavin Cornwell
adc0297235 Server side implementation of ACTVT 93: The Share client exposes the diagram associated with a workflow (ALF-8634).
WorkflowService Java API now has a hasWorkflowImage() method which is used in the existing workflow instance REST API to determine whether to return a URL to the diagram ("diagramUrl" property) in the response. A new REST API has also been added (/api/workflow-instances/<id>/diagram) to allow retrieval of the PNG image data.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28485 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-06-20 16:01:32 +00:00
Frederik Heremans
1f7ae86af6 ALF-9096 commented out failing test due to possible bug in transaction-management in spring-mybatis
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28379 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-06-14 09:26:57 +00:00
Jan Vonka
d9e98c1b16 MT fixes
- pre-cursor to ALF-8832

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28371 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-06-13 16:05:41 +00:00
N Smith
08835a782e ALF-8140 Created unit test in AbstractWorkflowServiceIntegrationTest to test the number of results returned by queryTasks() can be limited. Implemented this functionality for ActivitiWorkflowEngine.queryTasks().
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28357 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-06-13 09:01:27 +00:00
Frederik Heremans
6c1f5649f1 Implementing workflow instance image in ActivitiWorkflowEngine (+tests) and updated activiti admin-ui fixing popup-bug
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28333 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
2011-06-10 13:41:52 +00:00