Script - Basic samples
Update repository statistics
Refresh the Statistics.
import com.openkm.core.RepositoryInfo;
import com.openkm.util.ContextWrapper;
RepositoryInfo repositoryInfo = ContextWrapper.getContext().getBean(RepositoryInfo.class);
repositoryInfo.run();
Create some folders and set property group
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMFolder;
import com.openkm.api.OKMPropertyGroup;
import com.openkm.util.ContextWrapper;
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
OKMPropertyGroup okmPropertyGroup = ContextWrapper.getContext().getBean(OKMPropertyGroup.class);
for (int i = 0; i < 10; i++) {
String path = "/okm:root/fld_" + i;
okmFolder.createSimple(null, path);
Map<String, String> properties = new HashMap<>();
properties.put("okp:consulting.name", "new name");
properties.put("okp:consulting.comment", "new comment");
okmPropertyGroup.addGroup(null, path, "okg:consulting", properties);
}
Show number of documents, folders and size from a given path
import com.openkm.api.OKMFolder;
import com.openkm.api.OKMPropertyGroup;
import com.openkm.bean.ContentInfo;
import com.openkm.util.ContextWrapper;
import com.openkm.util.FormatUtil;
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
ContentInfo ci = okmFolder.getContentInfo(null, "151f3a54-f370-47d6-801a-d20faecec180");
print("Folders: " + ci.getFolders() + "<br/>");
print("Documents: " + ci.getDocuments() + "<br/>");
print("Size: " + FormatUtil.formatSize(ci.getSize()) + "<br/>");
Get path by UUID
import com.openkm.api.OKMRepository;
import com.openkm.util.ContextWrapper;
OKMRepository okmRepository = ContextWrapper.getContext().getBean(OKMRepository.class);
String path = okmRepository.getNodePath(null, "162735a1-661c-4555-bf53-4e9115f38c62");
print(path);
Show all documents used in every running workflow
import com.openkm.api.OKMRepository;
import com.openkm.api.OKMWorkflow;
import com.openkm.bean.workflow.ProcessDefinition;
import com.openkm.bean.workflow.ProcessInstance;
import com.openkm.core.Config;
import com.openkm.util.ContextWrapper;
OKMWorkflow okmWorkflow = ContextWrapper.getContext().getBean(OKMWorkflow.class);
for (ProcessDefinition procDef : okmWorkflow.findAllProcessDefinitions(null)) {
for (ProcessInstance procIns : okmWorkflow.findProcessInstances(null, procDef.getId())) {
if (procIns.getEnd() == null) {
String uuid = (String) procIns.getVariables().get(Config.WORKFLOW_PROCESS_INSTANCE_VARIABLE_UUID);
print("Doc UUID: " + uuid + ", Process Definition: " + procDef.getId() + ", Process Instance: "
+ procIns.getId());
}
}
}