Changelog of version 3.x

SDK for .NET 3.x

v3.9.0

  • Released 2020-10-08.
  • A new method isAttachment.
  • A new method isConvertibleToPDF.
  • New variable parentElement in FormElementComplex class.
  • New variable suscribed in ChildNodeBase class.
  • Moved variable lock and locked from Document and Record to Node class.
  • Removed variable token in LockInfo class.
  • Variable created in ChildNodeBase was renamed to versionCreated.
  • Fixed bug, added field description in the formElement.
  • Fixed bug, the method setAuthorizationToken was wrongly marked as deprecated.
  • Fixed bug, better control in case of error 401
  • Fixed typo, UnknowException was renamed to UnknownException

v3.8.0

  • Released 2020-08-10.
  • "THIS IS A MAJOR UPGRADE", because there are more than 360 methods in the Webservice class we have decided to split the methods by type. The methods in the Webservices class still are available but marked as deprecated. In future we will remove them. Take the sample below as a guide about the change applied.
  • In the previous version:

    ws.login(user, password);
    Folder folder = ws.createFolder("1be884f4-5758-4985-94d1-f18bfe004db8", "test");

    From version 3.8:

    ws.login(user, password);
    Folder folder = ws.folder.createFolder("1be884f4-5758-4985-94d1-f18bfe004db8", "test"); 

    Note in previous versions was used ws.createFolder methods and from version 3.8 we suggest using ws.folder.createFolder

  • Improvement in the REST errors. Has been updated the data and how errors are thrown across the REST service.
  • The method getContent has been updated. Currently, download EML or MSG file type either the stream of type "application/octet-stream".
  • New variable "context" in the method getMailsPaginated.
  • New variable "authorVisible" in the ProfileDocProperties class.
  • New variable "authorVisible" in the ProfileFldProperties class.
  • New variable "authorVisible" in the ProfileRecProperties class.
  • New variables "authorVisible", "parentVisible", "subscribedVisible",  "subscribedUsersVisible" and "typeVisible" in the ProfileMailProperties class.
  • Added new methods for sharding.
  • Bugs:
    • Fixed bug in BreadCrumbItem class was missing the variable "nodeType". 
    • Fixed bug sending more than two metadata with methods: findWithMetadata and findWithMetadataPaginated.

v3.7.1

  • Released 2020-05-21
  • Update of the RestSharp library to version 106.10.1.
  • Affected methods:  changeSecurity, getMailContent, executeReport, saveReport, saveSearch and testGetProcessDefinitionImage.

v3.7.0

  • Released 2020-03-31
  • General changes:
    • Change in the relations, the variable named "user" now is named "author".
    • Added new variable "numRecords" in the ZipDownloadEvaluationResult.
    • Added new variable "saveSearchVisible" in the Profile.
  • Document changes:
    • A new method createDocument(string uuid, FileInfo fi)
  • Repository changes:
    • A new method getClusterUuid.
  • Import changes:
    • A new method importDocument used to huge import.
    • A new method importFolder used to huge import.
  • Bugs
    • Solved a bug in parameters in all the RestPlugin methods ( executePluginPostReturnFileexecutePluginGetReturnFile ).
    • Bug to upload documents with accented names. Affected methods ( createDocument, checkinliveEditSetContent, createAttachment, importMSG, importEMLdoc2txt and importZip,)

v3.6.0

  • Released 2020-02-18
  • General changes:
    • Added new hasEncryption and hasAttachmentnew variables in ChildNodeBase.
    • Classes Token and TaskInstance modified.
    • Relations of type Group now have author variable.
    • Improvements in workflow services the "List<FormElement> values" has been changed to "Dictionary<String, String> properties".
  • Auth changes:
    • Changes in getRoles and getUsers methods.
    • A new method isLoginLowercase.
  • Dashboard changes:
    • A new method getUserSearches.
    • A new method findUserSearches.
  • Document changes:
    • A new method liveEditSetContent.
  • Node changes:
    • A new method restore.
  • Report changes:
    • Changes in saveReport method. Now it returns a Document object.
  • Search changes:
    • Fix saveQuery method always was returning value 0.
    • A new method getMimeTypes.

v3.5.0

  • Released 2019-11-18
  • General changes:
    • Using TLS1.2
    • Correction when copying a FormElementComplex to FormElement with respect to the validator array.
    • Applied CamelCase in some URL, the affected methods are:
      • getCheckout()
      • isCheckout()
      • checkout()
      • cancelCheckout()
      • setDocumentNodeClass()
      • setMailNodeClass()
      • setRecordNodeClass()
      • getContentInfo()
      • sendMailWithAttachments()
      • All the Property groups methods ( metadata )
      • getUserCheckoutDocuments()
      • getProcessDefinitionForms()
  • Auth changes:
    • When logout is executed the authentication token is also removed.
    • A new method hasSecurityRecursive.
    • A new method isAdmin.
    • A new method getSessionId.
    • A new login method ( now you can set expiration in days and restriction by IP )
  • Document changes
    • Renamed method createFromTemplate to createDocumentFromTemplate.
    • Renamed method updateFromTemplate to updateDocumentFromTemplate.
    • A new method getLiveEditRestrictedMimeTypes.
    • A new method liveEditCheckin.
  • Folder changes:
    • A new method createFolderFromTemplate.
  • Node changes:
    • Change in the methods generateDownloadToken ( new parameter preview is used to set expiration to less than 1 minute ).
    • The ChildNodeBase object returned by pagination methods now has a variable parent.
  • Record changes:
    • A new method extendedRecordCopy.
    • A new method createRecordFromTemplate
  • Report changes:
    • A new method generateDownloadReportToken.
    • A new method saveReport.
  • Repository changes:
    • The method executeSqlQuery now returns SqlQueryResults.
  • Search changes:
    • Added variable description and note in QueryParams. Now you can do a search by description and notes content.

v3.4.1

  • Released 2019-09-06
  • Now compatible with Visual Basic.
    • Auth changes:
      • Added methods:
        • void logout()
        • GrantedUsersAndRolesItem getGrantedUsersAndRoles(String uuid)
        • void setUserPermissions(String uuid, String userId, int permissions, bool recursive)
        • void setRolePermissions(String uuid, String roleId, int permissions, bool recursive)
        • List<Tenant> getUserTenants()
        • void setUserTenant(long tenantId)
    • Document changes:
      • Added methods:
        • void setDocumentDispositionStage(String uuid, long stage)
        • WizardNode createWizardDocument(String uuid, String name, long nodeClass, FileStream fs)
        • bool isOCRDataCaptureSupported(String uuid)
        • OCRRecognise recognize(String uuid)
        • void captureData(String uuid, long templateId)
        • String generateDownloadToken(String uuid)
        • int getNumberOfPages(String uuid)
        • String getPageAsImage(String uuid, int pageNumber, int maxWidth, int maxHeight)
        • void mergePdf(String destinationUuid, String docName, List<String> uuids)
    • Folder changes:
      • Changes methods:
        • Folder copyFolder(String uuid, String dstId, String newName), now returns a Folder.
        • Folder extendedFolderCopy(String uuid, String dstId, String newName, Boolean categories, Boolean keywords, Boolean propertyGroups, Boolean notes, Boolean wiki), now returns a Folder.
    • Mail changes:
      • Changes methods:
        • Folder copyFolder(String uuid, String dstId, String newName), now returns a Mail.
        • Folder extendedFolderCopy(String uuid, String dstId, String newName, Boolean categories, Boolean keywords, Boolean propertyGroups, Boolean notes, Boolean wiki), now returns a Mail.
      • Added methods:
        • void setMailDispositionStage(String uuid, long stage)
        • WizardNode createWizardMail(String uuid, String title, FileStream fileStream, String type)
        • NodeList getMailsPaginated(int offset, int limit, MailFilterQuery filter, String orderColumn, bool orderAsc)
        • List<MailAccount> getMailAccounts()
        • MailServerMessages getMailMessages(long accountId, long start)
        • void addMailAccount(MailAccount mailAccount)
        • void updateMailAccount(MailAccount mailAccount)
        • void testMailAccount(MailAccount mailAccount)
        • void deleteMailAccount(long mailAccountId)
        • void importMailMessages(long mailAccountId, List<long> messageIds)
        • void createMailFilter(long mailAccountId, MailFilter mailFilter)
        • void updateMailFilter(MailFilter mailFilter)
        • void deleteMailFilter(long mailFilterId)
        • void createMailRule(long filterId, MailFilterRule rule)
        • void updateMailRule(MailFilterRule rule)
        • void deleteMailRule(long ruleId)
        • List<MailFilterRule> getMailFilterRules(long filterId)
        • void forwardEmail(String uuid, List<String> users, List<String> roles, List<String> mails, String message)
    • Record changes:
      • Changes methods:
        • Record copyRecord(String uuid, String dstId, String newName) now return a Record.
      • Added methods:
        • WizardNode createWizardRecord(String uuid, String name, String title, long nodeClass)
    • Relation changes:
      • Changes methods:
        • deleteItemFromGroup was renamed to deleteRelationGroupItem.
    • Repository changes:
      • Added methods:
        • Dictionary<String, String> getAvailableLocales(String locale)
        • LicenseInfo getLicenseInfo()
    • Search changes:
      • Added methods:
        • List<QueryParams> findAllDefaultByNodeClass(long ncId)
        • List<QueryResult> findWithMetadata(QueryParams _params, String propertiesPlugin, List<String> groups)
        • ResultSet findWithMetadataPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin, List<String> groups)
    • WorkFlows changes:
      • Added methods:
        • void registerProcessDefinition(FileStream fileStream)
        • void deleteProcessDefinition(long pdId)
        • ProcessDefinition getProcessDefinition(long pdId)
        • ProcessInstance runProcessDefinition(long pdId, String uuid, List<FormElement> values)
        • List<ProcessInstance> findProcessInstances(long pdId)
        • List<ProcessDefinition> findAllProcessDefinitions()
        • List<ProcessDefinition> findLatestProcessDefinitions()
        • ProcessDefinition findLastProcessDefinition(String name)
        • ProcessInstance getProcessInstance(long piId)
        • List<TaskInstance> findUserTaskInstances()
        • List<TaskInstance> findTaskInstances(long piId)
        • void setTaskInstanceValues(long tiId, String transName, List<FormElement> values)
        • TaskInstance getTaskInstance(long tiId)
        • void setTaskInstanceActorId(long tiId, String actorId)
        • void startTaskInstance(long tiId)
        • void endTaskInstance(long tiId, String transName)
        • Dictionary<String, List<FormElement>> getProcessDefinitionForms(long pdId)
        • String getProcessDefinitionImage(String pdId, String uuid)
        • List<TaskInstance> findPooledTaskInstances()
    • Have been added new methods, specially for FilePlan, Task, etc...

v3.4.0

  • Released 2019-07-05
  • There're a lot of changes between SDK version 2.x and 3.X the most important considerations for migration between versions are:
    • Almost methods existing in version 2.x it continues existing in version 3.x
    • Have been added new methods, specially for FilePlan, Task, Conversion, etc...
    • Now in almost methods should be used UUID either path. The path has been deprecated in almost methods and no longer will continue working.
    • Authentication mechanism changed, now is based in a token. Now first is created the OKMWebservice object and then must be executed the login method.
    • The OpenKM connection URL has been changed from http://localhost:8080/OpenKM to http://localhost:8080/openkm ( now the context is lowercase ).