Ir al contenido
Otras versiones

Cargando…

OKMDocument

En casi todos los métodos verá un parámetro llamado “docId”. El valor de este parámetro puede ser el UUID o la ruta de un nodo de documento válido.

Cuando vea el parámetro llamado “fldId”, el valor de este parámetro puede ser un UUID o una ruta de carpeta válidos.

Respecto al parámetro llamado “dstId”, su valor puede ser el UUID o la ruta de una carpeta válida.

Además, en todos los métodos verá un parámetro llamado “token”. Al acceder a la aplicación a través de SOAP, el proceso de inicio de sesión devuelve un token, que se utiliza para identificar al usuario en todos los métodos expuestos. Desde el contexto de ejecución por defecto de la aplicación debe utilizar el valor “null”, que indica a la aplicación que debe utilizar la “sesión del usuario”.

Descripción:

Método Valores de retorno Descripción
create(String token, Document doc, InputStream is) Document Crea un nuevo documento.
  • El parámetro doc debe inicializarse con el valor de la ruta de OpenKM dentro del repositorio. Opcionalmente también puede establecer los valores de palabras clave y de título.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
is = new FileInputStream("/home/user/sample.pdf");
Document doc = new Document();
doc.setPath("/okm:root/sample.pdf");
// Optional
doc.setTitle("sample document");
doc.getKeywords().add("key1");
doc.getKeywords().add("key2");
// Create document
doc = OKMDocument.getInstance().create(null, doc, is);
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

Método Valores de retorno Descripción
createSimple(String token, String docPath, InputStream is) Document Crea un nuevo documento.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
is = new FileInputStream("/home/user/sample.pdf");
String docPath = "/okm:root/sample.pdf";
Document doc = OKMDocument.getInstance().createSimple(null, docPath, is);
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

Método Valores de retorno Descripción
delete(String token, String docId) void Elimina un documento.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
// Delete document by path
OKMDocument.getInstance().delete(null, "/okm:root/sample.pdf");
// Delete document by uuid
OKMDocument.getInstance().delete(null, "adc048d7-3791-4540-ae32-680629f73875");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getProperties(String token, String docId) Document Devuelve las propiedades de un documento.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
Document doc = OKMDocument.getInstance().getProperties(null, "adc048d7-3791-4540-ae32-680629f73875");
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getContent(String token, String docId, boolean checkout) InputStream Devuelve el contenido del documento.
  • Cuando el parámetro checkout es true, el documento se marca para edición.

Ejemplo:

package com.openkm;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
InputStream is = null;
OutputStream fos = null;
try {
is = OKMDocument.getInstance().getContent(null, "adc048d7-3791-4540-ae32-680629f73875", false);
File tmp = new File("/home/user/sample.pdf");
fos = new FileOutputStream(tmp);
IOUtils.copy(is, fos);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
}
}
}

Descripción:

Método Valores de retorno Descripción
getContentByVersion(String token, String docId, String versionId) InputStream Devuelve el contenido del documento de una versión concreta.
  • El parámetro versionIs es el nombre de la versión del documento.

Ejemplo:

package com.openkm;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
InputStream is = null;
OutputStream fos = null;
try {
is = OKMDocument.getInstance().getContentByVersion(null, "adc048d7-3791-4540-ae32-680629f73875", "1.1");
File tmp = new File("/home/user/sample.pdf");
fos = new FileOutputStream(tmp);
IOUtils.copy(is, fos);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
}
}
}

Descripción:

Método Valores de retorno Descripción
getChilds(String token, String fldId) List Devuelve una lista de todos los documentos cuyo padre es fldId.
  • El parámetro fldId puede ser un nodo de tipo carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
for (Document doc : OKMDocument.getInstance().getChilds(null, "/okm:root/import")) {;
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getChildren(String token, String fldId) List Devuelve una lista de todos los documentos cuyo padre es fldId.
  • El parámetro fldId puede ser un nodo de tipo carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
for (Document doc : OKMDocument.getInstance().getChildren(null, "/okm:root/import")) {;
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
rename(String token, String docId, String newName) Document Cambia el nombre de un documento.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
Document doc = OKMDocument.getInstance().rename(null, "/okm:root/samples.pdf","samples_renamed.pdf");
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
setProperties(String token, Document doc) void Cambia algunas propiedades del documento.
  • Variables que se pueden cambiar:

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
Document doc = OKMDocument.getInstance().getProperties(null, "/okm:root/samples.pdf");
doc.getKeywords().add("key1");
doc.setDescription("some description");
OKMDocument.getInstance().setProperties(null, doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
checkout(String token, String docId) void Marca el documento para edición.
  • Solo un usuario puede modificar un documento a la vez.
  • Antes de comenzar la edición debe realizar una acción de checkout, que bloquea el proceso de edición para otros usuarios y permite la edición únicamente al usuario que ha ejecutado la acción.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().checkout(null, "/okm:root/samples.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
cancelCheckout(String token, String docId) void Cancela la edición de un documento.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().cancelCheckout(null, "/okm:root/samples.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
forceCancelCheckout(String token, String docId) void Cancela la edición de un documento.
  • Este método permite cancelar la edición de cualquier documento.
  • No es obligatorio que esta acción la ejecute el mismo usuario que ejecutó previamente la acción de checkout.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().forceCancelCheckout(null, "/okm:root/samples.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
isCheckedOut(String token, String docId) void Devuelve un booleano que indica si el documento está en edición o no.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
System.out.println(OKMDocument.getInstance().isCheckedOut(null, "/okm:root/samples.pdf"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
checkin(String token, String docId, InputStream is, String comment) Version Actualiza un documento con una nueva versión y devuelve un objeto con los valores de la nueva versión.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.util.IOUtils;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
is = new FileInputStream("/home/user/sample.pdf");
OKMDocument.getInstance().checkin(null, "/okm:root/samples.pdf", is, "optional comment");
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

Método Valores de retorno Descripción
checkin(String token, String docId, InputStream is, String comment, int increment) Version Actualiza un documento con una nueva versión y devuelve un objeto con los valores de la nueva versión.
  • El valor de incremento depende de la implementación de VersionNumeration.

Ejemplo:

package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.poi.util.IOUtils;
import com.openkm.api.OKMDocument;
import com.openkm.vernum.VersionNumerationAdapter;
public class Test {
public static void main(String[] args) {
InputStream is = null;
try {
is = new FileInputStream("/home/user/sample.pdf");
OKMDocument.getInstance().checkin(null, "/okm:root/samples.pdf", is, "optional comment", VersionNumerationAdapter.INCREASE_MINOR);
} catch (Exception e) {
e.printStackTrace();
} finally {
IOUtils.closeQuietly(is);
}
}
}

Descripción:

Método Valores de retorno Descripción
isCheckedOut(String token, String docId) void Devuelve un booleano que indica si el documento está en edición o no.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
System.out.println(OKMDocument.getInstance().isCheckedOut(null, "/okm:root/samples.pdf"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getVersionHistory(String token, String docId List Devuelve una lista de todas las versiones del documento.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.Version;
public class Test {
public static void main(String[] args) {
try {
for (Version ver :OKMDocument.getInstance().getVersionHistory(null, "/okm:root/samples.pdf")) {
System.out.println(ver);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
lock(String token, String docId LockInfo Bloquea un documento y devuelve un objeto con la información del bloqueo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.LockInfo;
public class Test {
public static void main(String[] args) {
try {
LockInfo lockInfo = OKMDocument.getInstance().lock(null, "/okm:root/samples.pdf"));
System.out.println(lockInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
unlock(String token, String docId LockInfo Desbloquea un documento bloqueado.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().unlock(null, "/okm:root/samples.pdf"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
forceUnlock(String token, String docId LockInfo Desbloquea un documento bloqueado.
  • Este método permite desbloquear cualquier documento bloqueado.
  • No es obligatorio que esta acción la ejecute el mismo usuario que ejecutó previamente la acción de bloqueo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().forceUnlock(null, "/okm:root/samples.pdf"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
isLocked(String token, String docId) void Devuelve un booleano que indica si el documento está bloqueado o no.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
System.out.println(OKMDocument.getInstance().isLocked(null, "/okm:root/samples.pdf"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getLockInfo(String token, String docId) LockInfo Devuelve un objeto con la información del bloqueo.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.LockInfo;
public class Test {
public static void main(String[] args) {
try {
LockInfo lockInfo = OKMDocument.getInstance().getLockInfo(null, "/okm:root/samples.pdf"));
System.out.println(lockInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
purge(String token, String docId) void El documento se elimina definitivamente del repositorio.
  • Normalmente purgará documentos de /okm:trash/userId (las ubicaciones de papelera personal del usuario), pero es posible purgar directamente cualquier documento de todo el repositorio.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().purge(null, "/okm:root/samples.pdf"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
move(String token, String docId, String dstId) void Mueve el documento a una carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().move(null, "/okm:root/samples.pdf", "/okm/root/temp"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
copy(String token, String docId, String dstId) void Copia un documento en una carpeta.
  • El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().copy(null, "/okm:root/samples.pdf", "/okm/root/temp"));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
extendedCopy(String token, String docId, String dstId, String docName, ExtendedAttributes extAttr) void Copia un documento con sus datos asociados en una carpeta.
  • El valor del parámetro dstId debe ser un UUID o una ruta (path) de carpeta.
  • Cuando el valor del parámetro newName es null, el documento conservará el mismo nombre.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.bean.ExtendedAttributes;
public class Test {
public static void main(String[] args) {
try {
ExtendedAttributes extAttr = new ExtendedAttributes();
// copy keywords
extAttr.setKeywords(true);
OKMDocument.getInstance().extendedCopy(null, "/okm:root/samples.pdf", "/okm:root/temp", "samples_renamed.pdf", extAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
restoreVersion(String token, String docId, String versionId) void Restaura una versión anterior del documento como versión actual.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().restoreVersion(null, "/okm:root/samples.pdf", "1.2");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
purgeVersionHistory(String token, String docId) void Purga todas las versiones anteriores del documento excepto la versión actual.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
OKMDocument.getInstance().purgeVersionHistory(null, "/okm:root/samples.pdf");
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getVersionHistorySize(String token, String docId) long Devuelve la suma en bytes de todos los documentos del historial del documento.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
import com.openkm.util.FormatUtil;
public class Test {
public static void main(String[] args) {
try {
System.out.println(FormatUtil.formatSize(OKMDocument.getInstance().getVersionHistorySize(null, "/okm:root/samples.pdf")));
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
isValid(String token, String docId) boolean Devuelve un booleano que indica si el nodo es un documento o no.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
boolean valid = OKMDocument.getInstance().isValid(null, "/okm:root/samples.pdf");
System.out.println(valid);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores de retorno Descripción
getPath(String token, String uuid) String Convierte el UUID de un documento en su ruta.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMDocument;
public class Test {
public static void main(String[] args) {
try {
String docPath = OKMDocument.getInstance().getPath(null, "f123a950-0329-4d62-8328-0ff500fd42dbg");
System.out.println(docPath);
} catch (Exception e) {
e.printStackTrace();
}
}
}