Basic concepts
Autenticación
Sección titulada «Autenticación»Las primeras líneas de su código .NET deben usarse para crear el objeto Webservices.
Le sugerimos usar este método:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.exception;
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, username, password); try { System.Console.WriteLine(ws.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(); } }}También es posible hacer lo mismo desde cada implementación de las clases de la API.
Por ejemplo, con este método:
RepositoryImpl repositoryImpl = new RepositoryImpl(host, username, password);
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"; RepositoryImpl repositoryImpl = new RepositoryImpl(host, username, password); try { System.Console.WriteLine(repositoryImpl.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(); } }}Acceso a la API
Sección titulada «Acceso a la API»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 |
|---|---|---|---|---|
| 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. | Sí | AuthImpl.cs | BaseAuth.cs |
| OKMBookmark | Gestiona los marcadores de usuario. | No | ||
| OKMDashboard | Gestiona todos los datos que se muestran en el escritorio. | No | ||
| OKMDocument | Gestiona documentos. Por ejemplo, crear, mover o eliminar un documento. | Sí | DocumentImpl.cs | BaseDocument.cs |
| OKMFolder | Gestiona carpetas. Por ejemplo, crear, mover o eliminar una carpeta. | Sí | FolderImpl.cs | BaseFolder.cs |
| OKMMail | Gestiona correos. Por ejemplo, crear, mover o eliminar un correo. | Sí | MailImpl.cs | BaseMail.cs |
| OKMNote | Gestiona notas sobre cualquier tipo de nodo. Por ejemplo, crear, editar o eliminar una nota en un documento, carpeta, correo o expediente. | Sí | NoteImpl.cs | BaseNote.cs |
| OKMNotification | Gestiona notificaciones. Por ejemplo, añadir o quitar suscripciones a un documento o una carpeta. | No | 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. | Sí | PropertyImpl.cs | BaseProperty.cs |
| OKMPropertyGroup | Gestiona metadatos. Por ejemplo, añadir un grupo de metadatos o establecer campos de metadatos. | Sí | PropertyGroupImpl.cs | BasePropertyGroup.cs |
| OKMRecord | Gestiona expedientes. Por ejemplo, crear, mover o eliminar un expediente. | Sí | RecordImpl.cs | BaseRecord.cs |
| OKMRelation | Gestiona relaciones entre nodos. Por ejemplo, crear una relación (padre-hijo) entre dos documentos. | Sí | RelationImpl.cs | BaseRelation.cs |
| OKMRepository | Multitud de operaciones relacionadas con el repositorio. Por ejemplo, obtener las propiedades del nodo raíz principal (/okm:root). | Sí | RepositoryImpl.cs | BaseRepository.cs |
| OKMSearch | Gestiona la funcionalidad de búsqueda. Por ejemplo, gestionar consultas guardadas o ejecutar una nueva consulta sobre el repositorio. | Sí | SearchImpl.cs | BaseSearch.cs |
| OKMStats | Estadísticas generales del repositorio. | No | ||
| OKMTask | Gestiona tareas. Por ejemplo, crear una nueva tarea. | No | ||
| OKMUserConfig | Gestiona la configuración de inicio del usuario. | No | ||
| OKMWorkflow | Gestiona flujos de trabajo. Por ejemplo, ejecutar un nuevo flujo de trabajo. | Sí | WorkflowImpl.cs | BaseWorkflow.cs |
Jerarquía de clases
Sección titulada «Jerarquía de clases»Detalle de los paquetes:
| Nombre | Descripción |
|---|---|
| com.openkm.sdk4csharp | El com.openkm.OKMWebservicesFactory 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.BaseAuth - com.openkm.sdk4csharp.definition.BaseDocument - com.openkm.sdk4csharp.definition.BaseFolder - com.openkm.sdk4csharp.definition.BaseMail - com.openkm.sdk4csharp.definition.BaseNote - com.openkm.sdk4csharp.definition.BaseProperty - com.openkm.sdk4csharp.definition.BasePropertyGroup - com.openkm.sdk4csharp.definition.BaseRecord - com.openkm.sdk4csharp.definition.BaseRelation - com.openkm.sdk4csharp.definition.BaseRepository - com.openkm.sdk4csharp.definition.BaseSearch - com.openkm.sdk4csharp.definition.BaseWorkflow |
| com.openkm.sdk4csharp.impl | Todas las clases de implementación de las interfaces: - com.openkm.sdk4csharp.impl.AuthImpl - com.openkm.sdk4csharp.impl.DocumentImpl - com.openkm.sdk4csharp.impl.FolderImpl - com.openkm.sdk4csharp.impl.MailImpl - com.openkm.sdk4csharp.impl.NoteImpl - 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.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. |