alfresco:sitestore

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
alfresco:sitestore [2021/02/28 10:03] – created jmerarialfresco:sitestore [2021/04/17 16:33] (current) – [Preparation] jmerari
Line 1: Line 1:
 ====== Alfresco :: Separate Store for Each Site ====== ====== Alfresco :: Separate Store for Each Site ======
- 
 https://github.com/Acosix/alfresco-simple-content-stores 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  (<tomcat>/conf/Catalina/localhost/*.xml)
 +===== Run 1 : Install required extensions =====
 +
 +1 Install Acosix Alfresco Utility extension to repo side
 +<code>
 +        java -jar alfresco-mmt.jar install de.acosix.alfresco.utility.core.repo-1.2.5.amp <tomcat/webapps>/alfresco.war -verbose
 +</code>        
 +2. Install Acosix Alfresco Utility extension to share side
 +<code>
 +        java -jar alfresco-mmt.jar install de.acosix.alfresco.utility.core.share-1.2.5.amp <tomcat/webapps>/share.war -verbose
 +</code>
 +3. Install Acosix Simple Store extension to repo side
 +<code>
 +        java -jar alfresco-mmt.jar install de.acosix.alfresco.simplecontentstores.repo-1.1.1-SNAPSHOT.amp <tomcat/webapps>/alfresco.war -verbose
 +</code>
 +
 +===== Run 2 : Modify alfresco.global.properties =====
 +  - Shutdown Alfresco
 +  - Append the following configuration items inside the <tomcat>/shared/classes/alfresco.global.properties
  
 <code> <code>
Line 8: Line 31:
 simpleContentStores.enabled=true simpleContentStores.enabled=true
  
 +# declare site stores
 simpleContentStores.rootStore=siteMappedStore simpleContentStores.rootStore=siteMappedStore
-simpleContentStores.customStores=siteMappedStore,defaultFileStore,site03FileStore,site04FileStore,site05FileStore+simpleContentStores.customStores=siteMappedStore,defaultFileStore,site01FileStore,site02FileStore,site03FileStore,site04FileStore
  
 simpleContentStores.customStore.siteMappedStore.type=siteRoutingStore simpleContentStores.customStore.siteMappedStore.type=siteRoutingStore
 simpleContentStores.customStore.siteMappedStore.value.moveStoresOnNodeMoveOrCopy=true simpleContentStores.customStore.siteMappedStore.value.moveStoresOnNodeMoveOrCopy=true
 simpleContentStores.customStore.siteMappedStore.ref.fallbackStore=defaultFileStore 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.site03=site03FileStore
 simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site04=site04FileStore simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site04=site04FileStore
-simpleContentStores.customStore.siteMappedStore.map.storeBySite.ref.site05=site05FileStore 
  
 # default store # default store
Line 23: Line 50:
 simpleContentStores.customStore.defaultFileStore.value.protocol=store simpleContentStores.customStore.defaultFileStore.value.protocol=store
  
-# site 03+# 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.type=standardFileStore
 simpleContentStores.customStore.site03FileStore.value.rootAbsolutePath=${dir.root}/store03 simpleContentStores.customStore.site03FileStore.value.rootAbsolutePath=${dir.root}/store03
 simpleContentStores.customStore.site03FileStore.value.protocol=store03 simpleContentStores.customStore.site03FileStore.value.protocol=store03
  
-# site 04+# site store 04
 simpleContentStores.customStore.site04FileStore.type=standardFileStore simpleContentStores.customStore.site04FileStore.type=standardFileStore
 simpleContentStores.customStore.site04FileStore.value.rootAbsolutePath=${dir.root}/store04 simpleContentStores.customStore.site04FileStore.value.rootAbsolutePath=${dir.root}/store04
 simpleContentStores.customStore.site04FileStore.value.protocol=store04 simpleContentStores.customStore.site04FileStore.value.protocol=store04
- 
-# site 05 
-simpleContentStores.customStore.site05FileStore.type=standardFileStore 
-simpleContentStores.customStore.site05FileStore.value.rootAbsolutePath=${dir.root}/store05 
-simpleContentStores.customStore.site05FileStore.value.protocol=store05 
  
 #--------------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------------
  
 </code> </code>
 +
 +===== 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.
 +
  • alfresco/sitestore.1614481437.txt.gz
  • Last modified: 2021/02/28 10:03
  • by jmerari