Document samples
Basics
Example of UUID:
- Using UUID -> "f123a950-0329-4d62-8328-0ff500fd42db";
Suggested code sample
First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
Then you should log in using the method "login". You can access the "login" method from the webservice object "ws" as shown below:
ws.login(user, password);
Once you are logged in to the webservices, the session is kept in the webservice object. Then you can use the other API methods.
At this point you can use all the Document methods from the "document" class as shown below:
ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is);
Methods
createDocument
Description:
Method | Return values | Description |
---|---|---|
createDocument(String uuid, String name, InputStream is) |
Document |
Creates a new document. Returns an object Document with the properties of the created document. |
The value of the uuid parameter should be a folder or record node UUID. |
Example:
package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png");
Document doc = ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is);
System.out.println(doc);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
createDocument
Description:
Method | Return values | Description |
---|---|---|
createDocument(String uuid, String name, InputStream is, long nodeClass) |
Document |
Creates a new document with nodeClass. Returns an object Document with the properties of the created document. |
The value of the uuid parameter should be a folder or record node UUID. The nodeClass parameter should be a valid business type (series) value. A nodeClass with value 0 means there's no business type (series) selected. |
Example:
package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png");
long nodeClass = 0;
Document doc = ws.document.createDocument("1be884f4-5758-4985-94d1-f18bfe004db8", "logo.png", is, nodeClass);
System.out.println(doc);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
deleteDocument
Description:
Method | Return values | Description |
---|---|---|
deleteDocument(String uuid) |
void |
Deletes a document. |
When a document is deleted, it is automatically moved to the /okm:trash/userId folder. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.deleteDocument("1ec49da9-1746-4875-ae32-9281d7303a62");
} catch (Exception e) {
e.printStackTrace();
}
}
}
getDocumentProperties
Description:
Method | Return values | Description |
---|---|---|
getDocumentProperties(String uuid) |
Document |
Returns the document properties. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getDocumentProperties("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getContent
Description:
Method | Return values | Description |
---|---|---|
getContent(String uuid) |
InputStream |
Retrieves document content - binary data - of the current document version. |
If you send the file across a Servlet response, we suggest setting the content length with:
We've found incorrect size problems while using:
|
Example:
package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/logo.png");
InputStream is = ws.document.getContent("1ec49da9-1746-4875-ae32-9281d7303a62");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getContentByVersion
Description:
Method | Return values | Description |
---|---|---|
getContentByVersion(String uuid, String versionName) |
InputStream |
Retrieves the document content (binary data) from a specific document version. |
If you send the file across a Servlet response, we suggest setting the content length with:
We've found wrong size problems while using:
|
Example:
package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/logo.png");
InputStream is = ws.document.getContentByVersion("/okm:root/logo.png", "1.1");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getDocumentChildren
Description:
Method | Return values | Description |
---|---|---|
getDocumentChildren(String fldId) |
List<Document> |
Returns a list of all documents whose parent is fldId. |
The parameter fldId can be a folder or a record node UUID. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (Document doc : ws.document.getDocumentChildren("1be884f4-5758-4985-94d1-f18bfe004db8")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
renameDocument
Description:
Method | Return values | Description |
---|---|---|
renameDocument(String uuid, String newName) |
Document |
Changes the name of a document. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Document doc = ws.document.renameDocument("1ec49da9-1746-4875-ae32-9281d7303a62", "logo_rename.png");
System.out.print(doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}
setProperties
Description:
Method | Return values | Description |
---|---|---|
setProperties(String uuid, String title, String description, String lang, List<String> keywords, List<String> categories) |
void |
Changes some document properties. |
The parameter lang must be ISO 639-1 compliant. More information at: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes. |
Example:
package com.openkm;
import java.util.ArrayList;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
List<String> keywords = new ArrayList<>();
keywords.add("test");
keywords.add("invoice");
List<String> categories = new ArrayList<>();
categories.add("58c9b25f-d83e-4006-bd78-e26d7c6fb648");
ws.document.setProperties("1ec49da9-1746-4875-ae32-9281d7303a62", "new title", "some description", "es", keywords, categories);
} catch (Exception e) {
e.printStackTrace();
}
}
}
setLanguage
Description:
Method | Return values | Description |
---|---|---|
setLanguage(String uuid, String lang) |
void |
Sets the document language. |
The parameter lang must be ISO 639-1 compliant. More information at: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.setLanguage("1ec49da9-1746-4875-ae32-9281d7303a62", "en");
} catch (Exception e) {
e.printStackTrace();
}
}
}
setDocumentTitle
Description:
Method | Return values | Description |
---|---|---|
setDocumentTitle(String uuid, String title) |
void |
Sets the document title. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.setDocumentTitle("1ec49da9-1746-4875-ae32-9281d7303a62", "Some title here");
} catch (Exception e) {
e.printStackTrace();
}
}
}
checkout
Description:
Method | Return values | Description |
---|---|---|
checkout(String uuid) |
void |
Marks the document for editing. |
Only one user can modify a document at a time. Before starting editing, you must perform a checkout action that locks the editing process for other users and allows editing only to the user who executed the action. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.checkout("1ec49da9-1746-4875-ae32-9281d7303a62");
// At this point the document is locked for other users except for the user who executed the action
} catch (Exception e) {
e.printStackTrace();
}
}
}
cancelCheckout
Description:
Method | Return values | Description |
---|---|---|
cancelCheckout(String uuid) |
void |
Cancels a document edit. |
This action can only be done by the user who previously executed the checkout action. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
// At this point the document is locked for other users except for the user who executed the action
ws.document.cancelCheckout("1ec49da9-1746-4875-ae32-9281d7303a62");
// At this point other users are allowed to execute a checkout and modify the document
} catch (Exception e) {
e.printStackTrace();
}
}
}
forceCancelCheckout
Description:
Method | Return values | Description |
---|---|---|
forceCancelCheckout(String uuid) |
void |
Cancels a document edit. |
This method allows cancelling editing on any document. It is not mandatory that this action be executed by the same user who previously executed the checkout action. This action can only be done by a superuser (user with ROLE_ADMIN). |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
// At this point the document is locked for other users except for the user who executed the action
ws.document.forceCancelCheckout("1ec49da9-1746-4875-ae32-9281d7303a62");
// At this point other users are allowed to execute a checkout and modify the document
} catch (Exception e) {
e.printStackTrace();
}
}
}
isCheckedOut
Description:
Method | Return values | Description |
---|---|---|
isCheckedOut(String docId) |
Boolean |
Returns a boolean that indicates whether the document is being edited or not. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("Is the document checkout:" + ws.document.isCheckedOut("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
checkin
Description:
Method | Return values | Description |
---|---|---|
checkin(String uuid, InputStream is, String comment) |
Version |
Updates a document with a new version and returns an object with the new Version values. |
Only the user who started the editing - checkout - is allowed to update the document. |
Example:
package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/logo.png");
ws.document.checkin("1ec49da9-1746-4875-ae32-9281d7303a62", is, "optional some comment");
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
checkin
Description:
Method | Return values | Description |
---|---|---|
checkin(String docId, InputStream is, String comment, int increment) |
Version |
Updates a document with a new version and returns an object with new Version values. |
The value of the increment variable must be 1 or greater. The valid values of the increment variable depend on the VersionNumberAdapter you have enabled. Only the user who started the editing - checkout - is allowed to update the document. |
Example:
package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/logo.png");
ws.document.checkin("1ec49da9-1746-4875-ae32-9281d7303a62", is, "optional some comment", 2);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
isLocked
Description:
Method | Return values | Description |
---|---|---|
isLocked(String uuid) |
Boolean |
Returns a boolean that indicates whether the document is locked or not. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("Is document locked:" + ws.document.isLocked("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getLockInfo
Description:
Method | Return values | Description |
---|---|---|
getLockInfo(String uuid) |
LockInfo |
Returns an object with the lock information. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getLockInfo("1ec49da9-1746-4875-ae32-9281d7303a62"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
purgeDocument
Description:
Method | Return values | Description |
---|---|---|
purgeDocument(String uuid) |
void |
The document is permanently removed from the repository. |
Usually you will purge documents into /okm:trash/userId - the personal trash user location - but it is possible to directly purge any document from the whole repository. When a document is purged, it can only be restored from a previous repository backup. The purge action removes the document permanently from the repository. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.purgeDocument("1ec49da9-1746-4875-ae32-9281d7303a62");
} catch (Exception e) {
e.printStackTrace();
}
}
}
moveDocument
Description:
Method | Return values | Description |
---|---|---|
moveDocument(String uuid, String dstId) |
void |
Moves a document into a folder or record. |
The values of the dstId parameter should be a folder or record UUID. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.moveDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e", "8599eab7-ae61-4628-8010-1103d6950c63");
} catch (Exception e) {
e.printStackTrace();
}
}
}
copyDocument
Description:
Method | Return values | Description |
---|---|---|
copyDocument(String uuid, String dstId, String newName) |
void |
Copy a document into some folder or record. |
The value of the dstId parameter should be a folder or record UUID. When the parameter newName value is null, the document will preserve the same name. Only the binary data and the security grants are copied to the destination; the metadata, keywords, etc. of the document are not copied. See the "extendedDocumentCopy" method for this feature. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.copyDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e", "8599eab7-ae61-4628-8010-1103d6950c63", "new_logo.png");
} catch (Exception e) {
e.printStackTrace();
}
}
}
getVersionHistorySize
Description:
Method | Return values | Description |
---|---|---|
getVersionHistorySize(String uuid) |
long |
Returns the total size in bytes of all documents in the document history. |
Example:
package com.openkm;
import java.util.Locale;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String[] UNITS = new String[]{"B", "KB", "MB", "GB", "TB", "PB", "EB"};
long bytes = ws.document.getVersionHistorySize("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e");
String value = "";
for (int i = 6; i > 0; i--) {
double step = Math.pow(1024, i);
if (bytes > step) {
value = String.format(Locale.ROOT, "%3.1f %s", bytes / step, UNITS[i]);
}
}
if (value.isEmpty()) {
value = Long.toString(bytes) + " " + UNITS[0];
}
System.out.println(value);
} catch (Exception e) {
e.printStackTrace();
}
}
}
isValidDocument
Description:
Method | Return values | Description |
---|---|---|
isValidDocument(String docId) |
Boolean |
Returns a boolean that indicates if the node is a document or not. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.isValidDocument("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getDocumentPath
Description:
Method | Return values | Description |
---|---|---|
getDocumentPath(String uuid) |
String |
Converts a document UUID to document path. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getDocumentPath("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getDetectedLanguages
Description:
Method | Return values | Description |
---|---|---|
getDetectedLanguages() |
List<String> |
Returns a list of available document languages that OpenKM can identify. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (String lang : ws.document.getDetectedLanguages()) {
System.out.println(lang);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
extendedDocumentCopy
Description:
Method | Return values | Description |
---|---|---|
extendedDocumentCopy(String nodeId, String dstId, String name, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security) |
void |
Copies a document with associated data into a folder or record. |
The value of the nodeId parameter should be a Document UUID. The value of the dstId parameter should be a folder or a record UUID. When the parameter newName value is null, the document will preserve the same name. By default only the binary data and the security grants are copied; the metadata, keywords, etc. of the document are not copied. Additional:
|
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Document document = ws.document.extendedDocumentCopy("055b5206-35d0-4351-ba92-c304bbba7ddf", "2dccdee1-9d83-477d-ac58-1b50278a2210", "new_logo.png", true, true, true, true, true);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getExtractedText
Description:
Method | Return values | Description |
---|---|---|
getExtractedText(String uuid) |
String |
Returns a String with the extracted text from the text extractor process. |
When a document is uploaded to OpenKM, it goes into the text extraction queue. There's a crontab that periodically processes this queue and extracts document contents. Unfortunately there is not a direct way to know if a document has been processed or not from the API, because this information is only stored at the database level. Despite this restriction, via the API only administrator users can perform database queries to retrieve this information. Check Repository samples for accessing the database level. More information at Statistics. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
import java.io.FileInputStream;
import java.io.InputStream;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/openkm/test.pdf");
ws.document.setExtractedText("301de803-f4ae-48f1-8505-e83b26716956", is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
setExtractedText
Description:
Method | Return values | Description |
---|---|---|
setExtractedText(String uuid, InputStream is) |
void |
Sets the extracted text. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
String text = ws.document.getExtractedText("46762f90-82c6-4886-8d21-ad3017dd78a7");
System.out.println(text);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getThumbnail
Description:
Method | Return values | Description |
---|---|---|
getThumbnail(String uuid, ThumbnailType type) |
InputStream |
Returns thumbnail image data. |
Available types:
Each thumbnail type has its own image dimensions. |
Example:
package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.ThumbnailType;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
OutputStream fos = new FileOutputStream("/home/openkm/invoice.png");
InputStream is = ws.document.getThumbnail("46762f90-82c6-4886-8d21-ad3017dd78a7", ThumbnailType.THUMBNAIL_LIGHTBOX);
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}
createDocumentFromTemplate
Description:
Method | Return values | Description |
---|---|---|
createDocumentFromTemplate(String uuid, String dstPath, boolean categories, |
Document |
Creates a new document from the template and returns an object Document. |
The uuid parameter is the UUID value of the template file. The dstPath value is the document destination path. When the template uses metadata groups to fill in fields, then these values are mandatory and must be set in the properties parameter. For more information about Templates and metadata check: Creating templates Creating templates Additional:
|
Example:
The example below is based on Creating PDF template sample.
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
import com.openkm.sdk4j.util.ISO8601;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(username, password);
Map<String, String> properties = new HashMap<>();
// okg:tpl
properties.put("okp:tpl.name", "sdk name");
Calendar cal = Calendar.getInstance();
// Value must be converted to String ISO 8601 compliant
properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal));
properties.put("okp:tpl.language", "[ \"java\" ]");
// Property okg:technology
properties.put("okp:technology.comment", "sdk name");
Document document = ws.document.createDocumentFromTemplate("5e72dec8-2409-405b-ac15-d964feb3d7bb", "/okm:root/sdk/template.pdf", true, true, true, properties);
System.out.println(document);
} catch (Exception e) {
e.printStackTrace();
}
}
}
updateDocumentFromTemplate
Description:
Method | Return values | Description |
---|---|---|
updateDocumentFromTemplate(String uuid, String dstId, Map<String, String> properties) |
Document |
Updates a document previously created from the template and returns an object Document. |
The uuid value is the UUID value of the template file. The dstId is the UUID of the document to be updated. This method only makes sense when the template uses metadata groups to fill in fields. For more information about Templates and metadata take a look at Creating templates. |
Example:
The example below is based on Creating PDF template sample.
package com.openkm;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
import com.openkm.sdk4j.util.ISO8601;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Map<String, String> properties = new HashMap<>();
properties.put("okp:tpl.name", "update Some name");
Calendar cal = Calendar.getInstance();
// Value must be converted to String ISO 8601 compliant
properties.put("okp:tpl.bird_date", ISO8601.formatBasic(cal));
properties.put("okp:tpl.language", "[ \"python\" ]");
ws.document.updateDocumentFromTemplate("9fa9787e-d8b0-4ff7-905a-a89f0b228ec8", "058b9379-b441-454d-8590-00d5a280ce79", properties);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getCheckedOut
Description:
Method | Return values | Description |
---|---|---|
getCheckedOut() |
List<Document> |
Returns a list of documents checked out by the user. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
for (Document doc : ws.document.getCheckedOut()) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
createDocument
Description:
Method | Return values | Description |
---|---|---|
createDocument(String uuid, File file) |
Document |
Creates a new document and returns an object Document with the properties of the created document. |
The value of the uuid parameter should be a folder or record node UUID. |
Example:
package com.openkm;
import java.io.File;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
File file = new File("/home/gnujavasergio/okm/logo.png");
Document doc = ws.document.createDocument("151f3a54-f370-47d6-801a-d20faecec180", file);
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
}
}
}
setDocumentDescription
Description:
Method | Return values | Description |
---|---|---|
setDocumentDescription(String uuid, String description) |
void |
Sets a description. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
ws.document.setDocumentDescription("7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description");
} catch (Exception e) {
e.printStackTrace();
}
}
}
createWizardDocument
Description:
Method | Return values | Description |
---|---|---|
createWizardDocument(String uuid, String name, long nodeClass, InputStream is) |
WizardNode |
Creates a new document using a wizard. |
The parameter uuid should be any valid folder or record UUID. The WizardNode contains a list of pending actions that should be done to complete the process of document creation. These might be:
|
Example:
package com.openkm;
import java.io.FileInputStream;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.WizardNode;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
InputStream is = new FileInputStream("/home/gnujavasergio/okm/logo.png");
WizardNode wn = ws.document.createWizardDocument("1f323e88-64ee-4f57-91e2-9276f8c603f9", "logo.png", 0, is);
System.out.print(wn);
IOUtils.closeQuietly(is);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getNumberOfPages
Description:
Method | Return values | Description |
---|---|---|
getNumberOfPages(String uuid) |
int |
Gets the number of pages of a document. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println("The number of pages is : " + ws.document.getNumberOfPages("b2f88679-e3fd-4f97-bf0e-abf76f9ec499"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getPageAsImage
Description:
Method | Return values | Description |
---|---|---|
getPageAsImage(String uuid, int pageNumber, int maxWidth, int maxHeight) |
String |
Returns a specific page as an image encoded as a Base64 string. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.getPageAsImage("3fe350e2-69e8-4681-a97c-6ac4ba6c1524", 1, 150, 150));
} catch (Exception e) {
e.printStackTrace();
}
}
}
isAttachment
Description:
Method | Return values | Description |
---|---|---|
isAttachment(String docId) |
Boolean |
Returns a boolean indicating whether the node is a mail attachment. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
System.out.println(ws.document.isAttachment("9ed5c7b1-9314-4479-8f80-fd8e2b47f55e"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
getDocumentPdf
Description:
Method | Return values | Description |
---|---|---|
getDocumentPdf(String uuid) |
InputStream |
Returns a PDF of the document. |
Example:
package com.openkm;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.io.IOUtils;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/openkm";
String user = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try {
ws.login(user, password);
Document doc = ws.document.getDocumentProperties("7f6c5c0b-a66b-4782-9595-e14b402a18b0");
InputStream is = ws.document.getDocumentPdf(doc.getUuid());
OutputStream fos = new FileOutputStream("/home/openkm/book.pdf");
IOUtils.copy(is, fos);
IOUtils.closeQuietly(is);
IOUtils.closeQuietly(fos);
} catch (Exception e) {
e.printStackTrace();
}
}
}