Knowledge:Convert database users to ldap
From OpenKM Documentation
ORACLE
For each user should create new user and delete older: Create new user:
SELECT 'INSERT INTO OKM_USER (USR_ID, USR_NAME, USR_PASSWORD, USR_EMAIL, USR_ACTIVE) VALUES (''' || 'newname' || ''', ''' || USR_NAME || ''', ''' || USR_PASSWORD || ''', ''' || USR_EMAIL || ''', ''' || USR_ACTIVE || ''');' FROM OKM_USER WHERE USR_ID='oldername';
SELECT 'INSERT INTO OKM_USER_ROLE (UR_USER, UR_ROLE) VALUES (''' || 'newname'|| ''', ''' || UR_ROLE || ''');' FROM OKM_USER_ROLE where UR_USER='oldername';
SELECT 'INSERT INTO OKM_USER_CONFIG (UC_USER, UC_HOME_PATH, UC_HOME_NODE, UC_HOME_TYPE, UC_PROFILE) VALUES (''' || 'newname' || ''', ''' || UC_HOME_PATH || ''', ''' || UC_HOME_NODE || ''', ''' || UC_HOME_TYPE || ''');' FROM OKM_USER_CONFIG WHERE UC_USER='oldername';
Updating some tables: ALERT there're two non controled tables OKM_USER_NODE and OKM_USER_NODE_KEYWORDS
UPDATE OKM_USER_ITEMS SET UI_USER='newname' where UI_USER='oldername';
UPDATE OKM_NODE_USER_PERMISSION SET NUP_USER='newname' where NUP_USER='oldername'
Then should delete older users:
delete FROM OKM_USER_ROLE where UR_USER='oldername';
delete FROM OKM_USER where USR_ID = 'oldername';
Script para renombrar las carpetas base del usuario
import com.openkm.api.OKMFolder;
String olderName = "fguasch";
String newName = "fernando.guasch";
OKMFolder.getInstance().rename(null, "/okm:personal/"+olderName, newName);
OKMFolder.getInstance().rename(null, "/okm:trash/"+olderName, newName);
OKMFolder.getInstance().rename(null, "/okm:mail/"+olderName, newName);