====== Alfresco :: Separate Store for Each Site ====== https://github.com/Acosix/alfresco-simple-content-stores ===== 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 (/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 /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 /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 /alfresco.war -verbose ===== Run 2 : Modify alfresco.global.properties ===== - Shutdown Alfresco - Append the following configuration items inside the /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.