Class HomeFolderProviderSynchronizer
- java.lang.Object
-
- org.springframework.extensions.surf.util.AbstractLifecycleBean
-
- org.alfresco.repo.security.person.HomeFolderProviderSynchronizer
-
- All Implemented Interfaces:
java.util.EventListener,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.ApplicationListener
public class HomeFolderProviderSynchronizer extends org.springframework.extensions.surf.util.AbstractLifecycleBeanCalled on startup to move (synchronise) home folders to the preferred location defined by theirHomeFolderProvider2or extend the now depreciatedAbstractHomeFolderProvider. Only users that use a HomeFolderProvider2 that don't provide a shared home folder (all user are given the same home folder) will be moved. This allows existing home directories to be moved to reflect changes in policy related to the location of home directories. Originally created for ALF-7797 which related to the need to move large numbers of existing home directories created via an LDAP import into a hierarchical folder structure with fewer home folder in each.By default no action is taken unless the the global property
home_folder_provider_synchronizer.enabled=true.The home folders for internal users (such as
adminandguest) that useguestHomeFolderProviderorbootstrapHomeFolderProviderare not moved, nor are any users that use HomeFolderProviders create shared home folders (all user are given the same home folder). It is also possible change the HomeFolderProvider used by all other users by setting the global propertyhome_folder_provider_synchronizer.override_provider=<providerBeanName>.Warning: The LDAP synchronise process overwrites the home folder provider property. This is not an issue as long as the root path of the overwriting provider is the same as the overwritten provider or is not an ancestor of any of the existing home folders. This is important because the root directory value is used by this class to tidy up empty 'parent' folders under the root when a home folders are moved elsewhere. If you have any concerns that this may not be true, set the global property
home_folder_provider_synchronizer.keep_empty_parents=trueand tidy up any empty folders manually. Typically users created by the LDAP sync process are all placed under the same root folder so there will be no parent folders anyway.- Author:
- Alan Davis
-
-
Constructor Summary
Constructors Constructor Description HomeFolderProviderSynchronizer(TransactionService transactionService, AuthorityService authorityService, PersonService personService, FileFolderService fileFolderService, org.alfresco.service.cmr.repository.NodeService nodeService, PortableHomeFolderManager homeFolderManager, TenantAdminService tenantAdminService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidonBootstrap(org.springframework.context.ApplicationEvent event)protected voidonShutdown(org.springframework.context.ApplicationEvent event)voidsetEnabled(java.lang.String enabled)voidsetKeepEmptyParents(java.lang.String keepEmptyParents)voidsetOverrideHomeFolderProviderName(java.lang.String overrideHomeFolderProviderName)
-
-
-
Constructor Detail
-
HomeFolderProviderSynchronizer
public HomeFolderProviderSynchronizer(TransactionService transactionService, AuthorityService authorityService, PersonService personService, FileFolderService fileFolderService, org.alfresco.service.cmr.repository.NodeService nodeService, PortableHomeFolderManager homeFolderManager, TenantAdminService tenantAdminService)
-
-
Method Detail
-
setEnabled
public void setEnabled(java.lang.String enabled)
-
setOverrideHomeFolderProviderName
public void setOverrideHomeFolderProviderName(java.lang.String overrideHomeFolderProviderName)
-
setKeepEmptyParents
public void setKeepEmptyParents(java.lang.String keepEmptyParents)
-
onShutdown
protected void onShutdown(org.springframework.context.ApplicationEvent event)
- Specified by:
onShutdownin classorg.springframework.extensions.surf.util.AbstractLifecycleBean
-
onBootstrap
protected void onBootstrap(org.springframework.context.ApplicationEvent event)
- Specified by:
onBootstrapin classorg.springframework.extensions.surf.util.AbstractLifecycleBean
-
-