Ir al contenido

Basic concepts

Primero debe crear el objeto webservice:

OKMWebservices ws = OKMWebservicesFactory.newInstance(host);

A continuación, debe iniciar sesión mediante el método “login”. Puede acceder al método “login” desde el objeto webservice “ws”, tal y como se muestra a continuación:

ws.login(user, password);

Llegados a este punto, puede usar todos los métodos de Repository desde la clase “repository”, tal y como se muestra a continuación:

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

Las clases de la API de OpenKM están bajo el paquete com.openkm, tal y como se muestra en este resumen de la API en el javadoc.

Clases de la API de OpenKM:

Clase de la API de OpenKM Descripción Soportado Implementación Interfaz
OKMActivity Gestiona el registro de actividad. ActivityImpl.cs BaseActivity.cs
OKMAuth Gestiona la seguridad y los usuarios. Por ejemplo, añadir o quitar permisos sobre un nodo, crear o modificar usuarios, u obtener los perfiles. AuthImpl.cs BaseAuth.cs
OKMBookmark Gestiona los marcadores de usuario. BookmarkImpl.cs BaseBookmark.cs
OKMDashboard Gestiona todos los datos que se muestran en el escritorio. DashboardImpl.cs BaseDashboard.cs
OKMDocument Gestiona documentos. Por ejemplo, crear, mover o eliminar un documento. DocumentImpl.cs BaseDocument.cs
OKMFolder Gestiona carpetas. Por ejemplo, crear, mover o eliminar una carpeta. FolderImpl.cs BaseFolder.cs
OKMMail Gestiona correos. Por ejemplo, crear, mover o eliminar un correo. MailImpl.cs BaseMail.cs
OKMNode Gestiona acciones de propósito general sobre nodos. NodeImpl.cs BaseNode.cs
OKMNote Gestiona notas sobre cualquier tipo de nodo. Por ejemplo, crear, editar o eliminar una nota en un documento, carpeta, correo o expediente. NoteImpl.cs BaseNote.cs
OKMNotification Gestiona notificaciones. Por ejemplo, añadir o quitar suscripciones a un documento o una carpeta. NotificationImpl.cs BaseNotification.cs
OKMProperty Gestiona categorías y palabras clave. Por ejemplo, añadir o quitar palabras clave en un documento, carpeta, correo o expediente. PropertyImpl.cs BaseProperty.cs
OKMPropertyGroup Gestiona metadatos. Por ejemplo, añadir un grupo de metadatos o establecer campos de metadatos. PropertyGroupImpl.cs BasePropertyGroup.cs
OKMRecord Gestiona expedientes. Por ejemplo, crear, mover o eliminar un expediente. RecordImpl.cs BaseRecord.cs
OKMRelation Gestiona relaciones entre nodos. Por ejemplo, crear una relación (padre-hijo) entre dos documentos. RelationImpl.cs BaseRelation.cs
OKMRepository Multitud de operaciones relacionadas con el repositorio. Por ejemplo, obtener las propiedades del nodo raíz principal (/okm:root). RepositoryImpl.cs BaseRepository.cs
OKMReport Gestiona informes. Por ejemplo, ejecutar informes. ReportImpl.cs BaseReport.cs
OKMSearch Gestiona la funcionalidad de búsqueda. Por ejemplo, gestionar consultas guardadas o ejecutar una nueva consulta sobre el repositorio. SearchImpl.cs BaseSearch.cs
OKMStamp Gestiona los sellos (stamps). StampImpl.cs BaseStamp.cs
OKMStats Estadísticas generales del repositorio. No
OKMTask Gestiona tareas. Por ejemplo, crear una nueva tarea. TaskImpl.cs BaseTask.cs
OKMUserConfig Gestiona la configuración de inicio del usuario. No UserConfigImpl.cs BaseUserConfig.cs
OKMWorkflow Gestiona flujos de trabajo. Por ejemplo, ejecutar un nuevo flujo de trabajo. WorkflowImpl.cs BaseWorkflow.cs

Detalle de los paquetes:

Nombre Descripción
com.openkm.sdk4csharp El com.openkm.OKMWebservicesFactory que devuelve un objeto com.openkm.OKMWebservices que implementa todas las interfaces.
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
com.openkm.sdk4csharp.bean Contiene todas las clases resultantes de deserializar (unmarshalling) los objetos REST.
com.openkm.sdk4csharp.definition Todas las clases de interfaz:
- 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 Todas las clases de implementación de las interfaces:
- 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 Un conjunto de utilidades.
La clase com.openkm.sdk4csharp.util.ISO8601 debe usarse para establecer y analizar (parse) campos de metadatos de tipo fecha.
com.openkm.sdk4csharp.exception Todas las clases de excepción.