Skip to content
Other versions

Loading…

Basic concepts

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);

At this point you can use all the Repository methods from the “repository” class as shown below:

ws.repository.getAppVersion();
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.exception.DatabaseException;
import com.openkm.sdk4j.exception.RepositoryException;
import com.openkm.sdk4j.exception.UnknowException;
import com.openkm.sdk4j.exception.WebserviceException;
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.repository.getAppVersion());
} catch (RepositoryException e) {
e.printStackTrace();
} catch (DatabaseException e) {
e.printStackTrace();
} catch (UnknowException e) {
e.printStackTrace();
} catch (WebserviceException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}

OpenKM API classes are under com.openkm package, as shown in this Javadoc API summary.

OpenKM API classes:

OpenKM API class Description Supported Implementation Interface
OKMActivity Manages the activity log. Yes ActivityImpl.java BaseActivity.java
OKMAuth Manages security and users. For example, add or remove grants on a node, create or modify users, or get the profiles. Yes AuthImpl.java BaseAuth.java
OKMBookmark Manages the user bookmarks. Yes BookmarkImpl.java BaseBookmark.java
OKMDashboard Manages all data shown on the dashboard. Yes DashboardImpl.java BaseDashboard.java
OKMDocument Manages documents. For example, create, move or delete a document. Yes DocumentImpl.java BaseDocument.java
OKMFolder Manages folders. For example, create, move or delete a folder. Yes FolderImpl.java BaseFolder.java
OKMMail Manages mail. For example, create, move or delete a mail. Yes MailImpl.java BaseMail.java
OKMNode Manages general-purpose node actions. Yes NodeImpl.java NodeBase.java
OKMNote Manages notes on any node type. For example, create, edit or delete a note on a document, folder, mail or record. Yes NoteImpl.java BaseNote.java
OKMNotification Manages notifications. For example, add or remove subscriptions on a document or a folder. Yes NotificationImpl.java BaseNotification.java
OKMProperty Manages categories and keywords. For example, add or remove keywords on a document, folder, mail or record. Yes PropertyImpl.java BaseProperty.java
OKMPropertyGroup Manages metadata. For example, add a metadata group or set metadata fields. Yes PropertyGroupImpl.java BasePropertyGroup.java
OKMRecord Manages records. For example, create, move or delete a record. Yes RecordImpl.java BaseRecord.java
OKMRelation Manages relations between nodes. For example, create a relation (parent-child) between two documents. Yes RelationImpl.java BaseRelation.java
OKMRepository Many options related to the repository. For example, get the properties of the main root node (/okm:root). Yes RepositoryImpl.java BaseRepository.java
OKMReport Manages reports. For example, execute reports. Yes ReportImpl.java BaseReport.java
OKMSearch Manages the search feature. For example, manage saved queries or perform a new query on the repository. Yes SearchImpl.java BaseSearch.java
OKMStamp Manages stamps. Yes StampImpl.java BaseStamp.java
OKMStats General repository statistics. No
OKMTask Manages tasks. For example, create a new task. Yes TaskImpl.java BaseTask.java
OKMUserConfig Manages user home configuration. No
OKMWorkflow Manages workflows. For example, execute a new workflow. Yes WorkflowImpl.java BaseWorkflow.java

Packages detail:

Name Description
com.openkm The com.openkm.OKMWebservicesFactory returns an com.openkm.OKMWebservices object which implements all interfaces.
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
com.openkm.sdk4j.bean Contains all classes resulting from unmarshalling REST objects.
com.openkm.sdk4j.definition All interface classes:
- com.openkm.sdk4j.definition.BaseActivity
- com.openkm.sdk4j.definition.BaseAuth
- com.openkm.sdk4j.definition.BaseBookmark
- com.openkm.sdk4j.definition.BaseConversion
- com.openkm.sdk4j.definition.BaseDashboard
- com.openkm.sdk4j.definition.BaseFilePlan
- com.openkm.sdk4j.definition.BaseDocument
- com.openkm.sdk4j.definition.BaseFolder
- com.openkm.sdk4j.definition.BaseMail
- com.openkm.sdk4j.definition.BaseNode
- com.openkm.sdk4j.definition.BaseNote
- com.openkm.sdk4j.definition.BaseNotification
- com.openkm.sdk4j.definition.BasePlugin
- com.openkm.sdk4j.definition.BaseProperty
- com.openkm.sdk4j.definition.BasePropertyGroup
- com.openkm.sdk4j.definition.BaseRecord
- com.openkm.sdk4j.definition.BaseRelation
- com.openkm.sdk4j.definition.BaseRepository
- com.openkm.sdk4j.definition.BaseSearch
- com.openkm.sdk4j.definition.BaseStamp
- com.openkm.sdk4j.definition.BaseTask
- com.openkm.sdk4j.definition.BaseWorkflow
com.openkm.sdk4j.impl All interface implementation classes:
- com.openkm.sdk4j.impl.ActivityImpl
- com.openkm.sdk4j.impl.AuthImpl
- com.openkm.sdk4j.impl.BookmarkImpl
- com.openkm.sdk4j.impl.ConversionImpl
- com.openkm.sdk4j.impl.DashboardImpl
- com.openkm.sdk4j.impl.DocumentImpl
- com.openkm.sdk4j.impl.FileplanImpl
- com.openkm.sdk4j.impl.FolderImpl
- com.openkm.sdk4j.impl.MailImpl
- com.openkm.sdk4j.impl.NodeImpl
- com.openkm.sdk4j.impl.NoteImpl
- com.openkm.sdk4j.impl.NotificationImpl
- com.openkm.sdk4j.impl.PropertyGroupImpl
- com.openkm.sdk4j.impl.PropertyImpl
- com.openkm.sdk4j.impl.RecordImpl
- com.openkm.sdk4j.impl.RelationImpl
- com.openkm.sdk4j.impl.RepositoryImpl
- com.openkm.sdk4j.impl.SearchImpl
- com.openkm.sdk4j.impl.StampImpl
- com.openkm.sdk4j.impl.taskImpl
- com.openkm.sdk4j.impl.WorkflowImpl
com.openkm.sdk4j.util A couple of utilities.
The class com.openkm.sdk4j.util.ISO8601 should be used to set and parse metadata date fields.
com.openkm.sdk4j.exception All exception classes.