OKMRecord
Basics
In almost all methods you'll see a parameter named "recId". The value of this parameter can be a valid record UUID.
Example of a recId:
- Using a UUID -> "7f867772-7476-4176-b86f-bdeb8bce1c5f".
Also in all methods you'll see a parameter named "token". Because cron tasks are executed in the background without authentication, methods used in this scenario might use the token parameter. From the default application execution context you must use the "null" value, which indicates that the application must use the "user session".
In special cases you might be "promoted to Administrator" using the "administrator token".
String systemToken = DbSessionManager.getInstance().getSystemToken();
Methods
create
Description:
| Method | Return values | Description |
|---|---|---|
|
create(String token, Record rec) |
Record |
Creates a new record and returns a Record object. |
|
The variable path in the parameter rec must be initialized. It indicates the folder path in OpenKM.
The other variables of the Record (rec) will not have any effect on record creation. We suggest using the method below to create the Record simply rather than this one. |
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record rec = new Record();
rec.setPath("/okm:root/test");
okmRecord.create(null, rec);
} catch (Exception e) {
e.printStackTrace();
}
}
}
createSimple
Description:
| Method | Return values | Description |
|---|---|---|
|
createSimple(String token, String recPath) |
Record |
Creates a new record and returns a Record object. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
String recPath = "/okm:root/PKI-100200";
okmRecord.createSimple(null, recPath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getProperties
Description:
| Method | Return values | Description |
|---|---|---|
|
getProperties(String token, String recId) |
Record |
Returns the record properties. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Record rec = okmRecord.getProperties(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
System.out.println(rec);
} catch (Exception e) {
e.printStackTrace();
}
}
}
delete
Description:
| Method | Return values | Description |
|---|---|---|
|
delete(String token, String recId) |
void |
Deletes a record. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.delete(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}
purge
Description:
| Method | Return values | Description |
|---|---|---|
|
purge(String token, String recId) |
void |
The record is permanently removed from the repository. |
|
Usually you will purge folders in /okm:trash/userId - the personal trash user locations - but it is possible to purge any record directly from the repository. When a record is purged, it can only be restored from a previous repository backup. The purge action permanently removes the record from the repository. |
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.purge(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
} catch (Exception e) {
e.printStackTrace();
}
}
}
rename
Description:
| Method | Return values | Description |
|---|---|---|
|
rename(String token, String recId, String newName) |
Record |
Renames a record. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.rename(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "newname");
} catch (Exception e) {
e.printStackTrace();
}
}
}
move
Description:
| Method | Return values | Description |
|---|---|---|
|
move(String token, String recId, String dstId) |
void |
Moves a record into a folder or another record. |
|
The value of the dstId parameter should be a folder or record UUID. |
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.move(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6");
} catch (Exception e) {
e.printStackTrace();
}
}
}
copy
Description:
| Method | Return values | Description |
|---|---|---|
|
copy(String token, String recId, String dstId) |
void |
Copies a record into a folder or another record. |
|
The values of the dstId parameter should be a folder or record UUID. 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 "extendedCopy" method for this feature. |
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6");
} catch (Exception e) {
e.printStackTrace();
}
}
}
copy
Description:
| Method | Return values | Description |
|---|---|---|
|
copy(String token, String recId, String dstId, String newName) |
void |
Copies a record into a folder or another record. |
|
The value of the dstId parameter should be a folder or record UUID. When the newName parameter value is null, the record 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 "extendedCopy" method for this feature. |
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.copy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b6848ac2-345f-454e-964a-eba4dcc020e6", "newname");
} catch (Exception e) {
e.printStackTrace();
}
}
}
extendedCopy
Description:
| Method | Return values | Description |
|---|---|---|
|
extendedCopy(String token, String recId, String dstId, String newName, ExtendedAttributes extAttr) |
void |
Copies a record and its associated data into a folder or another record. |
|
The value of the dstId parameter should be a folder or record UUID. When the newName parameter value is null, the record will retain 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.api.OKMRecord;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
ExtendedAttributes extAttr = new ExtendedAttributes();
extAttr.setKeywords(true);
extAttr.setCategories(true);
extAttr.setNotes(true);
okmRecord.extendedCopy(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "b67fe3ae-bcca-4947-b8ea-0cc7aedd4474", "PKI-100201", extAttr);
} catch (Exception e) {
e.printStackTrace();
}
}
}
isValid
Description:
| Method | Return values | Description |
|---|---|---|
|
isValid(String token, String recId) |
boolean |
Returns a boolean that indicates if the node is a record or not. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
boolean valid = okmRecord.isValid(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
System.out.println(valid);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getPath
Description:
| Method | Return values | Description |
|---|---|---|
|
getPath(String token, String recId) |
String |
Converts a folder UUID to a record path. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
String path = okmRecord.getPath(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f");
System.out.println(path);
} catch (Exception e) {
e.printStackTrace();
}
}
}
getChildren
Description:
| Method | Return values | Description |
|---|---|---|
|
getChildren(String token, String fldId) |
List<Record> |
Returns a list of all records whose parent is fldId. |
|
The parameter fldId can be a folder or a record node. |
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
for (Record rec : okmRecord.getChildren(null, "b6848ac2-345f-454e-964a-eba4dcc020e6")) {
System.out.println(rec);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
setTitle
Description:
| Method | Return values | Description |
|---|---|---|
|
setTitle(String token, String recId, String title) |
void |
Sets the title of a record. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.setTitle(null, "7f867772-7476-4176-b86f-bdeb8bce1c5f", "new title");
} catch (Exception e) {
e.printStackTrace();
}
}
}
setDescription
Description:
| Method | Return values | Description |
|---|---|---|
|
setDescription(String token, String uuid, String description) |
void |
Sets a description. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.setDescription(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "some description");
} catch (Exception e) {
e.printStackTrace();
}
}
}
createMissingRecords
Description:
| Method | Return values | Description |
|---|---|---|
|
createMissingRecords(String token, String recPath) |
void |
Creates missing records in the path. |
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
okmRecord.createMissingRecords(null, "/okm:root/test/test1/test2");
} catch (Exception e) {
e.printStackTrace();
}
}
}
createFromTemplate
Description:
| Method | Return values | Description |
|---|---|---|
|
createFromTemplate(String token, String fldId, String dstPath, Map<String, String> properties, ExtendedAttributes extAttr) |
Record |
Creates a new record from a template record. |
Example:
package com.openkm;
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMRecord;
import com.openkm.bean.ExtendedAttributes;
import com.openkm.bean.Record;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
Map properties = new HashMap<>();
ExtendedAttributes extAttr = new ExtendedAttributes();
Record record = okmRecord.createFromTemplate(null, "7ce1b4a8-4ade-4dce-8d7d-4e99a6cd368b", "/okm:root/newRecord", properties, extAttr);
System.out.println(record);
} catch (Exception e) {
e.printStackTrace();
}
}
}
createWizard
Description:
| Method | Return values | Description |
|---|---|---|
|
createWizard(String token, String recPath, String title, long nodeClass) |
WizardNode |
Creates a new record using a wizard and node class. |
|
The parameter recPath 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 record creation. These might be:
|
||
Example:
package com.openkm;
import com.openkm.api.OKMRecord;
import com.openkm.bean.WizardNode;
import com.openkm.util.ContextWrapper;
public class Test {
public static void main(String[] args) {
try {
OKMRecord okmRecord = ContextWrapper.getContext().getBean(OKMRecord.class);
WizardNode wn = okmRecord.createWizard(null, "1f323e88-64ee-4f57-91e2-9276f8c603f9", "PKI-100200", 1);
System.out.print(wn);
} catch (Exception e) {
e.printStackTrace();
}
}
}