Ir al contenido

Script - Ejemplos básicos

Actualizar las estadísticas del repositorio

Sección titulada «Actualizar las estadísticas del repositorio»

Refresca las Statistics.

import com.openkm.core.RepositoryInfo;
import com.openkm.util.ContextWrapper;
RepositoryInfo repositoryInfo = ContextWrapper.getContext().getBean(RepositoryInfo.class);
repositoryInfo.run();

Crear algunas carpetas y establecer un grupo de propiedades

Sección titulada «Crear algunas carpetas y establecer un grupo de propiedades»
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);
}

Mostrar el número de documentos, carpetas y el tamaño de una ruta dada

Sección titulada «Mostrar el número de documentos, carpetas y el tamaño de una ruta dada»
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/>");
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);

Mostrar todos los documentos usados por cada workflow en ejecución

Sección titulada «Mostrar todos los documentos usados por cada workflow en ejecución»
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());
}
}
}