Basic concepts
Autenticación
Sección titulada «Autenticación»Las primeras líneas de su código Java deben usarse para crear el objeto Webservices.
Le sugerimos usar este método:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.exception.AccessDeniedException;import com.openkm.sdk4j.exception.DatabaseException;import com.openkm.sdk4j.exception.RepositoryException;import com.openkm.sdk4j.exception.UnknowException;import com.openkm.sdk4j.exception.WebserviceException;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { System.out.println(ws.getAppVersion()); } catch (RepositoryException e) { e.printStackTrace(); } catch (DatabaseException e) { e.printStackTrace(); } catch (UnknowException e) { e.printStackTrace(); } catch (WebserviceException e) { e.printStackTrace(); } }}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, new BeanHelper());
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.exception.AccessDeniedException;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.RepositoryImpl;import com.openkm.sdk4j.util.BeanHelper;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; RepositoryImpl repositoryImpl = new RepositoryImpl(host, username, password, new BeanHelper());
try { System.out.println(repositoryImpl.getAppVersion()); } catch (RepositoryException e) { e.printStackTrace(); } catch (DatabaseException e) { e.printStackTrace(); } catch (UnknowException e) { e.printStackTrace(); } catch (WebserviceException e) { e.printStackTrace(); } }}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.java | BaseAuth.java |
| 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.java | BaseDocument.java |
| OKMFolder | Gestiona carpetas. Por ejemplo, crear, mover o eliminar una carpeta. | Sí | FolderImpl.java | BaseFolder.java |
| OKMMail | Gestiona correos. Por ejemplo, crear, mover o eliminar un correo. | Sí | MailImpl.java | BaseMail.java |
| 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.java | BaseNote.java |
| OKMNotification | Gestiona notificaciones. Por ejemplo, añadir o quitar suscripciones a un documento o una carpeta. | No | ||
| OKMProperty | Gestiona categorías y palabras clave. Por ejemplo, añadir o quitar palabras clave en un documento, carpeta, correo o expediente. | Sí | PropertyImpl.java | BaseProperty.java |
| OKMPropertyGroup | Gestiona metadatos. Por ejemplo, añadir un grupo de metadatos o establecer campos de metadatos. | Sí | PropertyGroupImpl.java | BasePropertyGroup.java |
| OKMRecord | Gestiona expedientes. Por ejemplo, crear, mover o eliminar un expediente. | Sí | RecordImpl.java | BaseRecord.java |
| OKMRelation | Gestiona relaciones entre nodos. Por ejemplo, crear una relación (padre-hijo) entre dos documentos. | Sí | RelationImpl.java | BaseRelation.java |
| OKMRepository | Multitud de operaciones relacionadas con el repositorio. Por ejemplo, obtener las propiedades del nodo raíz principal (/okm:root). | Sí | RepositoryImpl.java | BaseRepository.java |
| OKMReport | Gestiona informes. Por ejemplo, ejecutar informes. | Sí | ReportImpl.java | BaseReport.java |
| OKMSearch | Gestiona la funcionalidad de búsqueda. Por ejemplo, gestionar consultas guardadas o ejecutar una nueva consulta sobre el repositorio. | Sí | SearchImpl.java | BaseSearch.java |
| 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.java | BaseWorkflow.java |
Jerarquía de clases
Sección titulada «Jerarquía de clases»Detalle de los paquetes:
| Nombre | Descripción |
|---|---|
| com.openkm | El com.openkm.OKMWebservicesFactory devuelve un objeto com.openkm.OKMWebservices que implementa todas las interfaces. OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); |
| com.openkm.sdk4j.bean | Contiene todas las clases resultantes de deserializar (unmarshalling) los objetos REST. |
| com.openkm.sdk4j.definition | Todas las clases de interfaz: - com.openkm.sdk4j.definition.BaseAuth - com.openkm.sdk4j.definition.BaseDocument - com.openkm.sdk4j.definition.BaseFolder - com.openkm.sdk4j.definition.BaseMail - com.openkm.sdk4j.definition.BaseNote - 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.BaseWorkflow |
| com.openkm.sdk4j.impl | Todas las clases de implementación de las interfaces: - com.openkm.sdk4j.impl.AuthImpl - com.openkm.sdk4j.impl.DocumentImpl - com.openkm.sdk4j.impl.FolderImpl - com.openkm.sdk4j.impl.MailImpl - com.openkm.sdk4j.impl.NoteImpl - 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.WorkflowImpl |
| com.openkm.sdk4j.util | Un conjunto de utilidades. La clase com.openkm.sdk4j.util.ISO8601 debe usarse para establecer y analizar (parse) campos de metadatos de tipo fecha. |
| com.openkm.sdk4j.exception | Todas las clases de excepción. |