Basic concepts
Authentication
Section titled “Authentication”First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.newInstance(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();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(); } }}Accessing API
Section titled “Accessing API”OpenKM API classes are under com.openkm package, as 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 get the profiles. | Yes | AuthImpl.cs | BaseAuth.cs |
| OKMBookmark | Manages the user bookmarks. | Yes | BookmarkImpl.cs | BaseBookmark.cs |
| OKMDashboard | Manages all data shown on the 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 mail. For example, create, move, or delete a mail. | 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 to 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 a metadata group or 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 to the repository. For example, get the properties of the main root node (/okm:root). | Yes | RepositoryImpl.cs | BaseRepository.cs |
| OKMReport | Manages reports. For example, execute reports. | Yes | ReportImpl.cs | BaseReport.cs |
| OKMSearch | Manages the search feature. For example, manage saved queries or perform a new query on the repository. | Yes | SearchImpl.cs | BaseSearch.cs |
| OKMStamp | Manages stamps. | Yes | StampImpl.cs | BaseStamp.cs |
| OKMStats | General repository statistics. | No | ||
| OKMTask | Manages tasks. For example, create a new task. | Yes | TaskImpl.cs | BaseTask.cs |
| OKMUserConfig | Manages the user’s home configuration. | No | UserConfigImpl.cs | BaseUserConfig.cs |
| OKMWorkflow | Manages workflows. For example, execute a new workflow. | Yes | WorkflowImpl.cs | BaseWorkflow.cs |
Class Hierarchy
Section titled “Class Hierarchy”Packages detail:
| Name | Description |
|---|---|
| com.openkm.sdk4csharp | The com.openkm.OKMWebservicesFactory that returns a com.openkm.OKMWebservices object which implements all interfaces. OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); |
| com.openkm.sdk4csharp.bean | Contains all classes resulting from 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. |