Knowledge:Migration from 6.2.4 to 6.2.5

From OpenKM Documentation
Jump to: navigation, search
  • Make a backup!!!
  • Stop Tomcat
  • Edit OpenKM.cfg and set hibernate.hbm2ddl to update
  • Replace the OpenKM.war
  • Review file descriptor limit and, eventually, increase it.
  • Start Tomcat again
  • Check for database errors:
$ grep "ERROR .*hbm2ddl" $TOMCAT_HOME/logs/catalina.log
  • The following configuration properties are deprecated:
    • managed.text.extraction.schedule
    • schedule.repository.info
    • schedule.mail.importer
  • Go to Administration > Database Query and execute these SQL sentences:
    • Delete obsolete configuration properties to avoid confusion:
DELETE FROM OKM_CONFIG WHERE CFG_KEY='managed.text.extraction.schedule';
DELETE FROM OKM_CONFIG WHERE CFG_KEY='schedule.repository.info';
DELETE FROM OKM_CONFIG WHERE CFG_KEY='schedule.mail.importer';
    • Actually there are three automations related to a okm:folder source:
SELECT * FROM OKM_AUTO_METADATA where AMD_SRC00='okm:folder';
    • Register a new one and after that you will see four automations related to folder:
INSERT INTO OKM_AUTO_METADATA (AMD_AT, AMD_CLASS_NAME, AMD_NAME, AMD_GROUP, AMD_TYPE00, AMD_SRC00, AMD_DESC00, AMD_TYPE01, AMD_SRC01, AMD_DESC01 ) VALUES ('post','com.openkm.automation.validation.HasCategory', 'HasCategory', 'validation', 'text', 'okm:folder', 'String', '', '', '');
    • Generate sentences to be added at the below script:
SELECT CONCAT('map.put("',AVP_PARAM,'",OKMRepository.getInstance().getNodeUuid(null, "',AVP_PARAM,'"));') FROM OKM_AUTO_VALIDATION_PARAMS where AVP_VALIDATION in (SELECT AVL_ID FROM OKM_AUTO_VALIDATION where AVL_TYPE in (SELECT AMD_ID FROM OKM_AUTO_METADATA where AMD_SRC00='okm:folder'));
    • Add the results of the last query in the script and execute. You'll get update SQL that should be executed to update the automation params converting path to UUID.
import com.openkm.api.OKMRepository;
import java.util.*;

Map map = new HashMap();

/** ADD HERE THE RESULTS OF THE PREVIOUS QUERY !!!!! **/
/** map.put("/okm:root/test/", OKMRepository.getInstance().getNodeUuid(null, "/okm:root/test/")); **/

for (String path : map.keySet()) {
    print("UPDATE OKM_AUTO_VALIDATION_PARAMS SET AVP_PARAM='"+map.get(path) +"' WHERE AVP_PARAM='" +path+"' and AVP_VALIDATION in (SELECT AVL_ID FROM OKM_AUTO_VALIDATION where AVL_TYPE in (SELECT AMD_ID FROM OKM_AUTO_METADATA where AMD_SRC00='okm:folder'));");
}
  • Enjoy OpenKM 6.2.5!

If you have any weird problem try to stop Tomcat, delete these folders:

  • $TOMCAT_HOME/webapps/OpenKM
  • $TOMCAT_HOME/work/Catalina/localhost

And start Tomcat again.


Nota clasica.png Recommended to clear browser cache (prevents "The response could not be deserialized" errors) and Java Plugin cache