Alfresco :: Separate Store for Each Site
Preparation
- Shutdown Alfresco service
- Create database backup and alf_data folder backup
- Create backup of alfresco.global.properties
- Create backup of all egov servlet context configuration (<tomcat>/conf/Catalina/localhost/*.xml)
Run 1 : Install required extensions
1 Install Acosix Alfresco Utility extension to repo side
java -jar alfresco-mmt.jar install de.acosix.alfresco.utility.core.repo-1.2.5.amp <tomcat/webapps>/alfresco.war -verbose
2. Install Acosix Alfresco Utility extension to share side
java -jar alfresco-mmt.jar install de.acosix.alfresco.utility.core.share-1.2.5.amp <tomcat/webapps>/share.war -verbose
3. Install Acosix Simple Store extension to repo side
java -jar alfresco-mmt.jar install de.acosix.alfresco.simplecontentstores.repo-1.1.1-SNAPSHOT.amp <tomcat/webapps>/alfresco.war -verbose
Run 2 : Modify alfresco.global.properties
- Shutdown Alfresco
- Append the following configuration items inside the <tomcat>/shared/classes/alfresco.global.properties
#---------------------------------------------------------------------------------------------------------
# Site Content Store routing
simpleContentStores.enabled=true
# declare site stores
simpleContentStores.rootStore=siteMappedStore
simpleContentStores.customStores=siteMappedStore,defaultFileStore,site01FileStore,site02FileStore,site03FileStore,site04FileStore
simpleContentStores.customStore.siteMappedStore.type=siteRoutingStore
simpleContentStores.customStore.siteMappedStore.value.moveStoresOnNodeMoveOrCopy=true
simpleContentStores.customStore.siteMappedStore.ref.fallbackStore=defaultFileStore
# map site ID to site store
simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site01=site01FileStore
simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site02=site02FileStore
simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site03=site03FileStore
simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site04=site04FileStore
# default store
simpleContentStores.customStore.defaultFileStore.type=standardFileStore
simpleContentStores.customStore.defaultFileStore.value.rootAbsolutePath=${dir.contentstore}
simpleContentStores.customStore.defaultFileStore.value.protocol=store
# site store 01
simpleContentStores.customStore.site01FileStore.type=standardFileStore
simpleContentStores.customStore.site01FileStore.value.rootAbsolutePath=${dir.root}/store01
simpleContentStores.customStore.site01FileStore.value.protocol=store01
# site store 02
simpleContentStores.customStore.site02FileStore.type=standardFileStore
simpleContentStores.customStore.site02FileStore.value.rootAbsolutePath=${dir.root}/store02
simpleContentStores.customStore.site02FileStore.value.protocol=store02
# site store 03
simpleContentStores.customStore.site03FileStore.type=standardFileStore
simpleContentStores.customStore.site03FileStore.value.rootAbsolutePath=${dir.root}/store03
simpleContentStores.customStore.site03FileStore.value.protocol=store03
# site store 04
simpleContentStores.customStore.site04FileStore.type=standardFileStore
simpleContentStores.customStore.site04FileStore.value.rootAbsolutePath=${dir.root}/store04
simpleContentStores.customStore.site04FileStore.value.protocol=store04
#---------------------------------------------------------------------------------------------------------
Run 3 : Create Separate Sites
- Startup Alfresco
- Login as admin
- Create four private sites
- Site ID: site01, Name: PIDSG e-Gov Live
- Site ID: site02, Name: PIDSG e-Gov Dev
- Site ID: site03, Name: PIDSG-BT e-Gov Live
- Site ID: site04, Name: PIDSG-BT e-Gov Dev
- Create four user accounts for each site
- user: site01_admin, password: site01_admin, as Manager of site01
- user: site02_admin, password: site02_admin, as Manager of site02
- user: site03_admin, password: site03_admin, as Manager of site03
- user: site04_admin, password: site04_admin, as Manager of site04
- Make sure that each site account can access its own site, and can't access other sites
Run 4 : Verify Site folder routing
- Login to each site with corresponding Site Manager account
- Upload some files
- Verify those files are located in the designated store in the filesystem
Run 5 : Move files from current Site to the corresponding Sites
- In Alfresco, open My Files > Sites
- Move all folders from site legal-dev > documentLibrary, to site03 > documentLibrary
- Move all folders from site egov-sg > documentLibrary, to site01 > documentLibrary
- Move the file list of calibration attachment from site03 to site04 (134 files)
- Make sure each sites has folder named UPLOADPOOL, take note the object ID
Run 6 : Modify e-Gov Configuration
- Open the servlet context config of each app
- Create a backup copy
- Change the user access account, password and pool folder ID for each e-Gov sites.