Script - Correct security in personal nodes
The script changes the security recursively for all the childs for the nodes okm:personal, okm:trash and okm:mail removing all previous security an assigning all grants to the owner of the folder ( the folder name identifies the user ).
import com.openkm.api.OKMAuth;import com.openkm.api.OKMFolder;import com.openkm.bean.Folder;import java.util.*;import com.openkm.util.PathUtils;import com.openkm.bean.Permission;
public void changeSecurity(String path){ for(Folder fld : OKMFolder.getInstance().getChildren(null, path)) { String userId = PathUtils.getName(fld.getPath());
Map revokeRoles = OKMAuth.getInstance().getGrantedRoles(null, fld.getPath()); Map revokeUsers = OKMAuth.getInstance().getGrantedUsers(null, fld.getPath()); Map grantUsers = new HashMap(); grantUsers.put(userId, Permission.ALL_GRANTS); revokeUsers.remove(userId); OKMAuth.getInstance().changeSecurity(null, fld.getPath(), grantUsers, revokeUsers, new HashMap(), revokeRoles, true);
print("Done " + path + "<br />"); }}
changeSecurity("/okm:personal");changeSecurity("/okm:trash");changeSecurity("/okm:mail");