Skip to content
Other versions

Loading…

Basic concepts

First, you must create the webservice object:

OKMWebservices ws = OKMWebservicesFactory.newInstance(host);

Then should login using the method “login”. You can access the “login” method from webservice object “ws” as is shown below:

ws.login(user, password);

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

ws.repository.getAppVersion();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.openkm.sdk4csharp;
using com.openkm.sdk4csharp.exception;
using com.openkm.sdk4csharp.impl;
namespace OKMRest
{
public class Program
{
static void Main(string[] args)
{
String host = "http://localhost:8080/openkm";
String username = "okmAdmin";
String password = "admin";
OKMWebservice ws = OKMWebservicesFactory.newInstance(host);
try {
ws.login(user, password);
System.Console.WriteLine(ws.repository.getAppVersion().getVersion());
} catch (RepositoryException e) {
System.Console.WriteLine(e.ToString());
} catch (DatabaseException e) {
System.Console.WriteLine(e.ToString());
} catch (UnknowException e) {
System.Console.WriteLine(e.ToString());
} catch (WebserviceException e) {
System.Console.WriteLine(e.ToString());
}
System.Console.ReadKey();
}
}
}

OpenKM API classes are under com.openkm package, as can shown at this javadoc API summary.

OpenKM API classes:

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

Packages detail:

Name Description
com.openkm.sdk4csharp The  com.openkm.OKMWebservicesFactory that returns an com.openkm.OKMWebservices object which implements all interfaces.
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
com.openkm.sdk4csharp.bean Contains all classes result of unmarshalling REST objects.
com.openkm.sdk4csharp.definition All interface classes:
- com.openkm.sdk4csharp.definition.BaseActivity
- com.openkm.sdk4csharp.definition.BaseAuth
- com.openkm.sdk4csharp.definition.AutoCAD
- com.openkm.sdk4csharp.definition.Bookmark
- com.openkm.sdk4csharp.definition.BaseConversion
- com.openkm.sdk4csharp.definition.BaseDashboard
- com.openkm.sdk4csharp.definition.BaseDocument
- com.openkm.sdk4csharp.definition.BaseFolder
- com.openkm.sdk4csharp.definition.BaseFilePlan
- com.openkm.sdk4csharp.definition.BaseImport
- com.openkm.sdk4csharp.definition.BaseMail
- com.openkm.sdk4csharp.definition.BaseNode
- com.openkm.sdk4csharp.definition.BaseNote
- com.openkm.sdk4csharp.definition.BaseNotification
- com.openkm.sdk4csharp.definition.BasePdf
- com.openkm.sdk4csharp.definition.BasePlugin
- com.openkm.sdk4csharp.definition.BaseProperty
- com.openkm.sdk4csharp.definition.BasePropertyGroup
- com.openkm.sdk4csharp.definition.BaseRecord
- com.openkm.sdk4csharp.definition.BaseRelation
- com.openkm.sdk4csharp.definition.BaseReport
- com.openkm.sdk4csharp.definition.BaseRepository
- com.openkm.sdk4csharp.definition.BaseSearch
- com.openkm.sdk4csharp.definition.BaseShard
- com.openkm.sdk4csharp.definition.BaseStamp
- com.openkm.sdk4csharp.definition.BaseTask
- com.openkm.sdk4csharp.definition.BaseUserConfig
- com.openkm.sdk4csharp.definition.BaseWizard
- com.openkm.sdk4csharp.definition.BaseWorkflow
com.openkm.sdk4csharp.impl All interface implementation classes:
- com.openkm.sdk4csharp.impl.ActivityImpl
- com.openkm.sdk4csharp.impl.AuthImpl
- com.openkm.sdk4csharp.impl.AutocadImpl
- com.openkm.sdk4csharp.impl.BookmarkImpl
- com.openkm.sdk4csharp.impl.ConversionImpl
- com.openkm.sdk4csharp.impl.DashboardImpl
- com.openkm.sdk4csharp.impl.DocumentImpl
- com.openkm.sdk4csharp.impl.FilePlanImpl
- com.openkm.sdk4csharp.impl.FolderImpl
- com.openkm.sdk4csharp.impl.ImportImpl
- com.openkm.sdk4csharp.impl.MailImpl
- com.openkm.sdk4csharp.impl.NodeImpl
- com.openkm.sdk4csharp.impl.NoteImpl
- com.openkm.sdk4csharp.impl.NotificationImpl
- com.openkm.sdk4csharp.impl.PdfImpl
- com.openkm.sdk4csharp.impl.ShardImpl
- com.openkm.sdk4csharp.impl.PropertyGroupImpl
- com.openkm.sdk4csharp.impl.PropertyImpl
- com.openkm.sdk4csharp.impl.RecordImpl
- com.openkm.sdk4csharp.impl.RelationImpl
- com.openkm.sdk4csharp.impl.RepositoryImpl
- com.openkm.sdk4csharp.impl.SearchImpl
- com.openkm.sdk4csharp.impl.ShardImpl
- com.openkm.sdk4csharp.impl.StampImpl
- com.openkm.sdk4csharp.impl.TaskImpl
- com.openkm.sdk4csharp.impl.UserConfigImpl
- com.openkm.sdk4csharp.impl.WizardImpl
- com.openkm.sdk4csharp.impl.WorkflowImpl
com.openkm.sdk4csharp.util A couple of utilities.
The class com.openkm.sdk4csharp.util.ISO8601 should be used to set and parse metadata date fields.
com.openkm.sdk4csharp.exception All exception classes.