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
Now a more general findBlogPosts(), which simplifies the webscript implementation slightly & removes possibility of an UnsupportedOperationException.
Also added new test case that finds before/after/within specified date ranges.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28988 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
ScriptGroup i.e. the "groups" root object now has a getGroups method that behaves similarly to People.getPeople wherein depending on the filter provided determines whether consistent results are returned. Any filter that can be done with a canned query i.e. startsWith queries or "*" will go to the the AuthorityService.getAuthorities method otherwise the lucene based AuthorityService.findAuthorities is used.
The UI also no longer sends a leading *, it it still supported but the user must add it themselves.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28983 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- SlideShare channel now tested (the service seems pretty flaky, but the publishing works fine).
- A couple of tweaks to ensure that credentials are being stored correctly for each channel.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28966 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Also moved the BlogService_Security bean from blog-context.xml into public-services-security-context.xml.
Loads of imports had to be repointed, hence the long change set. Also some spring config.
Didn't repackage BlogIntegrationService as it has been released in previous Alfresco versions in its current location.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28958 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
Added findSites() method which uses Lucene queries to retrieve sites.
This method supports a CONTAINS query on cm:name, title, description.
All listSites() methods are now immediately consistent - as opposed to eventually.
However in moving these method implementations to CannedQueries, they now only
support STARTS_WITH_IGNORE_CASE queries on cm:name, title, description.
I've highlighted this in the javadoc.
ScriptSiteService now uses the eventually consistent findSites() method for searches.
Also some fallout in the tests.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28943 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- multi-threaded AVM->DM Share surf-config remote store migration
- patch is now active and will migrate your site/user dashboards to the Sites folder
- all new site/user dashboard config will be created under the Sites folders
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28836 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
- sort out SOLR per core analyzer properties
- required DD refactoring for loading these particular properties and not using I18NUtils as SOLR needs to over-ride the class loader used ....
- dictionary DAO now supports over-riding the default datatype behaviour (much easier to change the analyser properties file used)
- property added in repositoy.properties
- lucene.defaultAnalyserResourceBundleName=alfresco/model/dataTypeAnalyzers
- models can define per property, class(type and aspects) and model analysis behaviour by specifying an analyser bundle - see the data type model for model level config
- the same notation is used elsewhere
- SOLR and Repository config for this has to be kept in sync by hand - consider syncing these later
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28826 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
28741: Merged DEV/TEMPORARY to V3.4-BUG-FIX
28740: ALF-8993: IMAP favourite star is not visible if imap is enabled via JMX
The org.alfresco.repo.imap.ImapService interface was extended to expose getEnabled() and made the webscript to call ImapService.getEnabled().
28742: ALF-8801: Broken French strings
28745: ALF-6470: French string correction
28746: ALF-5607: Installer deletion of directories on installation cancel.
28756: ALF-9211: Install fails when path selected that contains accents or double byte chars (e.g. Japanese)
- Fix from Bitrock
- Not internationalized yet
28758: Merged DEV to V3.4-BUG-FIX
28743: ALF-8029: JSON returned by some audit queries not valide
Quote user in query.get.json.ftl if it has value.
28761: Merged DEV to V3.4-BUG-FIX
28739: ALF-9123 : "Content URL conversion failed" error being thrown
Note: Actually changed the implementation but the principle remains.
In future, use a thread-safe boolean e.g. AtomicBoolean to carry data
around about the running state; don't use a class member variable as
it can be manipulated by competing threads, etc.
28762: Fix ALF-9376: Typo in Version2Model
28763: Merged DEV to V3.4-BUG-FIX
28754: ALF-8461: Invalid property cm:source (cm:copiedFrom) causes not be become sys:incomplete
Configurable property called 'propertiesToIgnore' was added to IncompleteNodeTagger,and configured to ignore "cm:source".
Merge note: I fixed the stored 'propertiesToIgnore' to be a Set<QName> to prevent unnecessary conversions
28764: ALF-9036: Fix NPE on XForm session timeout
28765: ALF-9211: Externalized new installer message
- Needs localizing
28789: ALF-9407: Single quote characters in messages containing {} need to be doubled
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28793 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
SiteService.listSites calls have been partially reimplemented to use GetChildrenCannedQueries.
For queries that search with a filter on sitePreset name, the searches are now CannedQueries.
This is because those queries were formerly using string equality comparisons to filter results, which GCCQ supports.
For queries that search with a filter on site cm:name, it is less simple. Searches such as "foo" are converted to (cm:name, "*foo*") comparisons in Lucene. Such 'contains' comparisons are not supported by GCCQ. These searches still use Lucene pending agreement on which approach to take to reimplementation here. Consistency with user & group searches is required.
This check-in injects the necessary getChildrenCannedQuery beans into the SiteService.
It adds a new method listSites() which returns PagingResults<SiteInfo>. This is used where possible within the old listSites() lucene-based method and is exposed in the public Service for use by third parties.
Also added MethodSecurityInterceptor-based SiteService_security bean to the public-services-security-context.xml
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@28791 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261