Ir al contenido

Changelog v4.x

  • En curso
  • 2026-07-21
  • Repository service
    • Se añadió el método createShortenUrl(String name, String url), que devuelve una URL acortada.
  • 2026-04-16
  • Actualizado
    • Se definió el filePlan que faltaba en OKMWebservices.
    • PDFService
      • El método extract() ahora devuelve un objeto Document.
  • Corregido
    • Se mejoraron los mensajes de error durante la fase de login.
  • 2026-03-10
  • Corregido
    • Se corrigió el campo de metadato description, que no se mapeaba correctamente.
  • 2026-01-27
  • WorkflowService
    • Se permitió iniciar un workflow sin un nodo asociado mediante el nuevo método runProcessDefinition(long pdId, Map<String, String> propertiesMap)
    • Se actualizó csvExport(String lang, QueryParams queryParams, List<String> propertyGroups, boolean compact) para admitir grupos de metadatos
    • Se añadió el método searchAssignedTasks(Calendar start, Calendar end, String status, Long procDefId, int offset, int limit), que devuelve las tareas de workflow asignadas al usuario conectado, con rango de fechas, estado, definición de proceso y parámetros de paginación.
    • Se añadió el método searchStartedByMe(Calendar start, Calendar end, String status, Long procDefId, int offset, int limit), que devuelve las tareas de workflow iniciadas por el usuario conectado, con rango de fechas, estado, definición de proceso y parámetros de paginación.
    • Se añadió el método searchOverview(Calendar start, Calendar end, String status, Long procDefId, String initiator, String taskUser, int offset, int limit), que devuelve una vista general de las tareas de workflow de todos los usuarios, con rango de fechas, estado, definición de proceso, iniciador, usuario de la tarea y parámetros de paginación.
  • 2025-11-19
  • Corregido
    • Se corrigieron errores de serialización en valores con formato JSON dentro de los parámetros de plugin.
  • Actualizado:
    • InsertPages en PdfService se ha rediseñado para que sea más útil y comprensible. Ahora usa PageInsertOperations para realizar las inserciones.
    • El método getAllGroups ahora tiene un parámetro opcional, uuid.
  • 2025-07-08
  • PDFService
    • List<Document> split(String uuid, String dstId, String baseName, List<Integer> pages) ahora devuelve una lista de documentos
    • Document remove(String uuid, String dstId, String name, List pages) ahora devuelve un documento
    • Document rotate(String uuid, String dstId, String name, Integer angle, List<Integer> pages) ahora devuelve un documento
  • 2025-05-29
  • Corregido:
    • Se corrigieron problemas de mapeo en el componente FormElementComplex.
    • Se resolvió el manejo de variables en las clases Select y FormElementComplex.
  • Actualizado:
    • Se amplió la clase ProfileMisc con las nuevas variables aiVisible e identityVisible para un mejor control de visibilidad.
    • Se añadió soporte del atributo multiple para campos Upload en los formularios de workflow.
  • 2025-04-09
  • AuthService
    • Método eliminado
      • boolean hasSecurityRecursive()
      • boolean hasTaskManagerAdmin()
      • boolean isAdmin()
      • boolean isPasswordExpired()
  • RepositoryService
    • Método eliminado
      • boolean getIsFilePlan();
  • SearchService
    • Método eliminado
      • List getMimeTypes()
      • SearchPluginList getSearchPlugins()
  • DocumentService
    • Método eliminado
      • List getLiveEditRestrictedMimeTypes()
  • NodeService
    • Método eliminado
      • NodePaginatorConfig getPaginatorConfig(String pluginName)
      • PaginatorPluginList getPaginatorPlugins()
  • Corregido: PrincipalAdapterException ahora se llama AuthException
  • 2025-02-14
  • Cambios en la clase NodePaginatorConfig.
  • Nueva variable shard en la clase Document.
  • Nueva variable shard en la clase Mail.
  • Nueva variable shardVisible en la clase ProfileDocProperties.
  • Nueva variable shardVisible en la clase ProfileMailProperties.
  • ReportService
    • Método añadido
      • InputStream executeSql(long rpId)
      • Document saveSql(long rpId, Map<String, String> params, String dstId, String docName)
      • List getSqlReports(boolean active)
  • 2024-12-04
  • Nueva variable timeZone en la clase UserConfig.
  • Nueva variable onlineEditor en la clase UserConfig.
  • Nueva variable htmlEditor en la clase UserConfig.
  • Nueva variable liveEdit en la clase UserConfig.
  • Nueva variable stepIntoCreatedNode en la clase UserConfig.
  • Nueva variable previewMode en la clase UserConfig.
  • Nueva variable type en la clase TextArea.
  • Variable linkTarget eliminada en la clase Node.
  • Variable restricted eliminada en la clase Node.
  • AuthService
    • Método añadido
      • String createPersonalAccessToken(String name, Calendar expiration)
  • MailService
    • Método añadido
      • void sendMail(String to, String subject, String body)
  • Import Service
    • Método añadido
      • String importDocument(String uuid, Calendar date, String author, File file)
      • String importFolder(String uuid, String name, Calendar date, String author)
      • String importRecord(String uuid, String name, Calendar date, String author)
    • Métodos marcados como obsoletos
      • String importDocument(String uuid, File file)
      • String importFolder(String uuid, String name)
      • String importRecord(String uuid, String name)
  • 2024-09-09
  • AuthService
    • Método añadido
      • String getRefreshToken()
  • MailService
    • Se cambió la implementación interna
      • El método getMailsPaginated ahora devuelve un objeto de tipo SimpleNodeBaseResultSet
  • 2024-06-12
  • PdfService
    • Método añadido
      • boolean optimize(String uuid)
  • Se corrigió un problema en el método login relacionado con la expiración y la restricción por IP. Siempre creaba un token con la expiración fijada en 1 y la restricción por IP en false.
  • 2024-06-12
  • Aviso: el cambio interno en las funciones implica que sus parámetros ahora se envían en formato JSON. Es un cambio importante de la API.
  • Nueva variable name en la clase WizardNode.
  • Nueva variable path en la clase WizardNode.
  • Nueva variable mailSent en la clase SimpleNodeBase.
  • Se eliminó la variable styleVisible de la clase ProfileFldProperties.
  • Se eliminó la variable style de la clase Folder.
  • DocumentService
    • Método añadido
      • void liveEditCancelCheckout(String uuid)
      • void liveEditForceCancelCheckout(String uuid)
    • Se cambió la implementación interna
      • void forceCancelCheckout(String uuid)
      • void cancelCheckout(String uuid)
      • void setIndexable(String uuid, boolean enabled)
  • SearchService
    • Método eliminado
      • ResultSet findPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin)
      • ResultSet findPaginated(QueryParams queryParams, String sortField, boolean sortReverse, int offset, int limit, String propertiesPlugin)
      • ResultSet findByQueryPaginated(String query, int offset, int limit, String propertiesPlugin)
      • ResultSet findByQueryPaginated(String query, String sortField, boolean sortReverse, int offset, int limit, String propertiesPlugin)
  • WizardService
    • Método añadido
      • List findAllByUser()
      • void cancelPostponedNode(String uuid)
      • void deleteByNode(String uuid)
    • Se cambió la implementación interna
      • addDigitalSignature(String uuid, int order)
      • addShowWizardCategories(String uuid, int order)
      • addShowWizardKeywords(String uuid, int order)
      • addShowWizardOCRDataCapture(String uuid, int order)
  • FolderService
    • Método añadido
      • Folder create(String uuid, String name, long nodeClass)
  • ImportService
    • Se cambió la implementación interna
      • String importFolder(String uuid, String name)
      • String importRecord(String uuid, String name)
  • MailService
    • Se cambió la implementación interna
      • void deleteAttachment(String uuid, String docId)
  • NodeService
    • Se cambió la implementación interna
      • void unZip(String uuid, String dstId)
      • String generateDownloadToken(String uuid, boolean preview, boolean oneTimeUse, Calendar validUntil)
  • PropertyService
    • Se cambió la implementación interna
      • void removeKeyword(String uuid, String keyword)
  • StampService
    • Se cambió la implementación interna
      • void stampImageManually(String uuid, long id, String exprX, String exprY, String range, String personalStampUuid)
      • void stampTextCustom(String uuid, long stampTextId, String text, String exprX, String exprY, String range)
  • 2024-04-17
  • Se añadió la variable pooledActors a la clase ITaskInstance.
  • Se corrigió la mayoría de las clases bean para que ignoren las variables ausentes durante la deserialización JSON.
  • 2024-03-07
  • Se eliminó AutoCadService
  • SearchService
    • Método eliminado
      • Map<String, Integer> getKeywordMap(List filter)
  • DocumentService
    • Método añadido
      • List getXrefs(String uuid)
      • void refresh(String uuid)
  • Aviso: esta es una actualización importante de la API REST que afecta a la mayoría de las implementaciones PUT y POST. Los usuarios que accedan a la API REST directamente, sin el SDK, deben comprobar si están usando alguno de los siguientes métodos:
    • AuthService
      • void revokeRole(String uuid, String roleId, int permissions, boolean recursive)
      • void revokeUser(String uuid, String userId, int permissions, boolean recursive)
      • void grantRole(String uuid, String roleId, int permissions, boolean recursive)
      • void grantUser(String uuid, String userId, int permissions, boolean recursive)
      • void deleteUser(String userId)
      • void updateUser(String userId, String password, String email, String name, boolean active)
      • void updateRole(String roleId, boolean active)
      • void assignRole(String userId, String roleId)
      • void setUserProfile(String userId, long profileId)
      • void setUserPermissions(String uuid, String userId, int permissions, boolean recursive)
      • void setRolePermissions(String uuid, String roleId, int permissions, boolean recursive)
      • void setUserTenant(long tenantId)
      • InputStream getTwoFactorQR(String secret)
      • String validate2FAAndSaveSecret(String secret, int code)
      • String disable2FA()
    • AutomationService
      • void create(String name, String event, String at, int order, String evaluation, boolean exclusive, boolean active, String description, long nodeClass)
      • void update(long ruleId, String name, String event, int order, String evaluation, boolean exclusive, boolean active, String description)
      • void createAction(long ruleId, String className, int order, boolean active, String amParam00, String amParam01, String amParam02)
      • void updateAction(long ruleId, long actionId, int order, boolean active, String amParam00, String amParam01, String amParam02)
      • void createValidation(long ruleId, String className, int order, boolean active, String amParam00, String amParam01, String amParam02)
      • void updateValidation(long ruleId, long validationId, int order, boolean active, String amParam00, String amParam01, String amParam02)
    • BookmarkService
      • void create(String uuid, String name)
      • void rename(int bookmarkId, String name)
    • DocumentService
      • Document rename(String uuid, String newName)
      • void setProperties(String uuid, String title, String description, String lang, List keywords, List categories)
      • void setLanguage(String uuid, String lang)
      • void setTitle(String uuid, String title)
      • void setNodeClass(String uuid, long ncId)
      • void setDispositionStage(String uuid, long stage)
      • Document copy(String uuid, String dstId, String newName)
      • Document extendedCopy(String uuid, String dstId, String name, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security)
      • void setDescription(String uuid, String description)
      • String mergePdf(String destinationUuid, String docName, List uuids)
      • Document saveAsPdf(String uuid, String newName, boolean propertyGroups, boolean security)
      • void liveEditCheckin(String uuid, String comment, int increment)
    • FolderService
      • Folder rename(String uuid, String newName)
      • Folder copy(String uuid, String dstId, String newName)
      • Folder extendedCopy(String uuid, String dstId, String newName, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security)
      • void setStyle(String uuid, long styleId)
      • void createMissingFolders(String fldPath)
      • void setDescription(String uuid, String description)
    • MailService
      • void rename(String uuid, String newName)
      • Mail copy(String uuid, String dstId, String newName)
      • Mail extendedCopy(String uuid, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security, String newName)
      • void setNodeClass(String uuid, long ncId)
      • void setDispositionStage(String uuid, long stage)
      • void setTitle(String uuid, String title)
      • void setDescription(String uuid, String description)
      • void addAccount(MailAccount mailAccount)
      • void updateAccount(MailAccount mailAccount)
      • void importMessages(long mailAccountId, List messageIds)
      • void createFilter(long mailAccountId, MailFilter mailFilter)
      • void updateFilter(MailFilter mailFilter)
      • void createRule(long filterId, MailFilterRule rule)
      • void updateRule(MailFilterRule rule)
      • void forwardEmail(String uuid, List users, List roles, List mails, String message)
      • Document saveAsPdf(String uuid, String newName, boolean propertyGroups, boolean security)
    • NodeService
      • void renameVersion(String uuid, String versionName, String newName)
      • void setComment(String uuid, String versionName, String comment)
    • NoteService
      • Note add(String uuid, String text)
      • void set(String noteId, String text)
    • NotificationService
      • void notify(List uuids, List users, List roles, List mails, String message, boolean attachment)
    • OcrService
      • void createField(long templateId, String name, String className, String propertyGroupName, String pattern, int rotation, String custom, String ocr, boolean control, int x1, int y1, int x2, int y2)
      • void updateField(long templateId, long fieldId, String name, String className, String propertyGroupName, String pattern, int rotation, String custom, String ocr, boolean control, int x1, int y1, int x2, int y2)
      • void createControlField(long templateId, String name, String className, String pattern, String value, int rotation, String custom, String ocr, int order, boolean emptyAllowed, int x1, int y1, int x2, int y2)
      • void updateControlField(long templateId, long controlFieldId, String name, String className, String pattern, String value, int rotation, String custom, String ocr, int order, boolean emptyAllowed, int x1, int y1, int x2, int y2)
    • PropertyService
      • void addCategory(String uuid, String catId)
      • void addKeyword(String uuid, String keyword)
      • void setEncryption(String uuid, String cipherName)
      • void setSigned(String uuid, boolean signed)
    • RecordService
      • Record create(String uuid, String name, String title, long nodeClass)
      • Record rename(String uuid, String newName)
      • Record copy(String uuid, String dstId, String newName)
      • void setTitle(String uuid, String title)
      • void setNodeClass(String uuid, long ncId)
      • void setDispositionStage(String uuid, long stage)
      • void setDescription(String uuid, String description)
      • Record extendedCopy(String uuid, String dstId, String newName, boolean categories, boolean keywords, boolean propertyGroups, boolean notes, boolean security)
      • WizardNode createWizard(String uuid, String name, String title, long nodeClass)
      • void createMissingRecords(String recPath)
    • RelationService
      • void add(String nodeAId, String nodeBId, long relTypeId)
      • void addGroup(String uuid, String groupName, long type)
      • void addNodeToGroup(String uuid, long groupId)
      • void setGroupName(long groupId, String groupName)
    • RepositoryService
      • void copyAttributes(String uuid, String dstId, boolean categories, boolean keywords, boolean propertyGroups, boolean notes)
    • TaskService
      • Task create(String subject, String start, String end, String description, long statusId, long projectId,
        long typeId, String user, List notificationUsers, List externalUsers, List relatedDocuments,
        List relatedFolders, List relatedRecords, List relatedMails, String repeatExpression,
        String repeatUntil, String formatDate, int repeatTimes, String reminderStartUnit, int reminderStartValue,
        String reminderEndUnit, int reminderEndValue)
      • Task update(long taskId, String subject, String start, String end, String description, long statusId,
        long projectId, long typeId, String user, List notificationUsers, List externalUsers,
        List relatedDocuments, List relatedFolders, List relatedRecords, List relatedMails,
        String owner, String repeatExpression, String repeatUntil, String formatDate, int repeatTimes, int progress,
        String reminderStartUnit, int reminderStartValue, String reminderEndUnit, int reminderEndValue)
      • TaskProject createProject(String name, boolean active, String description)
      • TaskProject updateProject(long projectId, boolean active, String name, String description)
      • TaskType createType(String name, boolean active, String description)
      • TaskType updateType(long typeId, boolean active, String name, String description)
      • TaskStatus createStatus(String name, boolean finish)
      • TaskStatus createStatus(String name, boolean finish)
      • Nueva variable roles en la clase StampImage.
      • TaskStatus createStatus(String name, boolean finish)
      • TaskStatus updateStatus(long statusId, String name, boolean finish)
      • TaskNote createNote(long taskId, String text)
      • TaskNote updateNote(long noteId, String text)
    • UserConfigService
      • void setHome(String uuid)
    • WizardService
      • void postponeNode(String uuid, Calendar date)
      • void addGroup(String uuid, String group, int order)
      • void removeGroup(String uuid, String group)
      • void addWorkflow(String uuid, String workflow, int order)
      • void removeWorkflow(String uuid, String workflow)
    • WorkflowService
      • void setTaskInstanceActorId(long tiId, String actorId)
      • void endTaskInstance(long tiId, String transName)
  • Publicado el 2024-01-23
  • Nueva variable roles en la clase StampImage.
  • Nueva variable roles en la clase StampText.
  • Nueva variable roles en la clase StampBarcode.
  • Publicado el 2023-02-12
  • DocumentService
    • Nuevo método
      • createDocumentFromTemplate(String uuid, String dstPath, boolean categories, boolean keywords, boolean notes, boolean security, Map<String, String> properties) para crear un documento a partir de una plantilla.
  • FolderService
    • Nuevo método
      • createFolderFromTemplate(String uuid, String dstPath, boolean categories, boolean keywords, boolean notes, boolean propertyGroups, boolean security, Map<String, String>) para crear una jerarquía de carpetas a partir de una plantilla.
  • RecordService
    • Nuevo método
      • createRecordFromTemplate(String uuid, String dstPath, boolean categories, boolean keywords, boolean notes, boolean propertyGroups, boolean security, Map<String, String> properties) para crear una jerarquía de expedientes a partir de una plantilla.
  • Publicado el 2023-11-17
  • Nueva variable publicUrlVisible en la clase ProfileDocProperties.
  • Nueva variable publicUrlVisible en la clase ProfileFldProperties.
  • Nueva variable publicUrlVisible en la clase ProfileMailProperties.
  • Nueva variable publicUrlVisible en la clase ProfileRecProperties.
  • Se añadieron registros (logs) a la clase Auth.
  • La automatización ahora puede evaluarse con lógica OR o AND.
  • PDFService
    • Nuevo método
      • insertPages(String uuid, String srcId, int sourceFromPage, int sourceToPage, int insertFromPage) para insertar páginas en un PDF.
  • Publicado el 2023-09-26
  • Hay muchos cambios entre la versión 3.x y 4.x del SDK; las consideraciones más importantes para la migración entre versiones son:
    • Requiere Java versión 11.
    • Se han eliminado todos los métodos marcados como obsoletos en la versión 3.x.
    • Muchos métodos se han refactorizado; por ejemplo, el método ws.folder.deleteFolder se renombró a ws.folder.delete.
    • Método ws.document.lockDocument marcado como obsoleto en favor de ws.node.lock.
    • Método ws.document.unlockDocument marcado como obsoleto en favor de ws.node.unlock.
    • Método ws.document.forceUnlockDocument marcado como obsoleto en favor de ws.node.forceUnlockDocument.
    • Método ws.document.isLocked marcado como obsoleto en favor de ws.node.isLocked.
    • Método ws.document.getLockInfo marcado como obsoleto en favor de ws.node.getLockInfo.
    • Método ws.document.forceLock marcado como obsoleto en favor de ws.node.forceLock.
    • Método ws.record.lockRecord marcado como obsoleto en favor de ws.node.lock.
    • Método ws.record.unlockRecord marcado como obsoleto en favor de ws.node.unlock.
    • Método ws.record.forceUnlockRecord marcado como obsoleto en favor de ws.node.forceUnlock.
    • Método ws.record.forceLockRecord marcado como obsoleto en favor de ws.node.forceLock.
    • Método ws.repository.getThesaurusFolder marcado como obsoleto.