Table of Contents

KVSDMSDocStorageELOIndexserver

Implements KVSDMSDocumentStorageInterface. Summary: This interface implementation is using the ELO Indexserver Low Level REST interface. It is recommended to use this ELO Indexserver REST interface instead of the deprecated ELO REST API service. This Codeunit requires the following Permissions:

Procedures

TestConnectivity(Text) : Boolean

Summary: Checks whether the connectivity to the host is given.

procedure TestConnectivity(var message: Text): Boolean

Parameters:

  • message: Specifies the message to show returned by the check procedure.

Returns: Return variable success of type Boolean that states if connection is possible.

UploadFile(Variant, Record KVSDMSDocumentDrive, Text, Text, Dictionary, InStream) : Text

procedure UploadFile(sourceRecord: Variant; documentDrive: Record "KVSDMSDocumentDrive"; directoryPath: Text; fileName: Text; tags: Dictionary; fileContentAsStream: InStream): Text

UpdateFileTags(Record KVSDMSFileBuffer, Dictionary) :

procedure UpdateFileTags(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; updatedtags: Dictionary): 

MoveAllFilesFromDirectoryToAnotherDirectory(Text, Text, Text, Text, Text, Text) :

Summary: Move all files from an directory to another directory.

procedure MoveAllFilesFromDirectoryToAnotherDirectory(fromSiteID: Text; fromDriveID: Text; fromDirectoryPath: Text; toSiteID: Text; toDriveID: Text; toDirectoryPath: Text): 

Parameters:

  • fromSiteID: Site ID of the source site.
  • fromDriveID: Drive ID of the source drive.
  • fromDirectoryPath: Directory path of the source directory.
  • toSiteID: Site ID of the target site.
  • toDriveID: Drive ID of the target drive.
  • toDirectoryPath: Directory path of the target directory.

GetFileTags(Record KVSDMSFileBuffer, List, Dictionary, Text) : Boolean

procedure GetFileTags(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; filteredTagCodeList: List; var tags: Dictionary; var errorMessage: Text): Boolean

GetFileListFromDirectory(Text, Text, Text, Text, Enum KVSDMSRetrieveFileMode, Record KVSDMSFileBuffer, Text) : Boolean

Summary: Get list of all files within a Directory.

procedure GetFileListFromDirectory(siteID: Text; driveID: Text; directoryPath: Text; fileTagsToRetrieveArray: Text; retrieveFileMode: Enum "KVSDMSRetrieveFileMode"; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): Boolean

Parameters:

  • siteID: Site Id of the site to list files from.
  • driveID: Drive Id of the drive to list files from.
  • directoryPath: Directory path to list files from.
  • fileTagsToRetrieveArray: Array[20] of Text specifies the list of tag codes to retrieve.
  • retrieveFileMode: Specifes the Enum KVSDMSRetrieveFileMode which defines which entries to retrieve.
  • TempFileBuffer: Temporary VAR Record KVSDMSFileBuffer specifies the returnable list of files and tags.
  • errorMessage: VAR Text specifies the Error Message that possibly occurs.

Returns: Return value of type Boolean specifies if procedure was successfull.

SearchFilesByTags(Dictionary, Record KVSDMSDocumentDrive, Boolean, Text, Record KVSDMSFileBuffer, Text) : Boolean

procedure SearchFilesByTags(searchTags: Dictionary; var filteredSearchDrives: Record "KVSDMSDocumentDrive"; findDocsWithSingleTagMatch: Boolean; fileTagsToRetrieveArray: Text; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): Boolean

SearchFilesByText(Text, Record KVSDMSDocumentDrive, Text, Record KVSDMSFileBuffer, Text) : Boolean

Summary: Search Files by given searchtext.

procedure SearchFilesByText(searchText: Text; var filteredSearchDrives: Record "KVSDMSDocumentDrive"; fileTagsToRetrieveArray: Text; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): Boolean

Parameters:

  • searchText: Text defining the searchterm to search for.
  • filteredSearchDrives: VAR Record KVSDMSDocumentDrive specifies the document drives to search within.
  • fileTagsToRetrieveArray: Array[20] of Text specifies the list of tag codes to retrieve.
  • TempFileBuffer: Temporary VAR Record KVSDMSFileBuffer specifies the returnable list of files and tags.
  • errorMessage: VAR Text specifies the Error Message that possibly occurs.

Returns: Return value of type Boolean specifies if procedure was successfull.

GetURLFromDirectory(Text, Text, Text) : Text

Summary: Get URL from directory.

procedure GetURLFromDirectory(siteID: Text; driveID: Text; directoryPath: Text): Text

Parameters:

  • siteID: Site Id of the site to get the directory url from.
  • driveID: Drive Id of the drive to get the directory url from.
  • directoryPath: Directory path to get the directory url from.

Returns: Return value of type Text defines the url of the given directory path.

GetURLFromFile(Record KVSDMSFileBuffer) : Text

Summary: Get URL from file.

procedure GetURLFromFile(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary): Text

Parameters:

  • TempFileBuffer: Temporary VAR Record KVSDMSFileBuffer specifies the file informations to return the url for.

Returns: Return value of type Text defines the url of the given file.

GetBase64DataStreamFromFile(Record KVSDMSFileBuffer, Text) : Boolean

Summary: Get Base64 encoded data stream from file.

procedure GetBase64DataStreamFromFile(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var b64FileContent: Text): Boolean

Parameters:

  • TempFileBuffer: Temporary VAR Record KVSDMSFileBuffer specifies the file informations to return the Base64 encoded stream for.
  • b64FileContent: VAR Text specifies the base64 encoded file stream value.

Returns: Return value of type Boolean specifies if procedure was successfull.

GetBase64DataStreamFromFile(Record KVSDMSFileBuffer, Dictionary) : Boolean

procedure GetBase64DataStreamFromFile(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var b64FileContents: Dictionary): Boolean

DeleteEntry(Record KVSDMSFileBuffer, Text) : Boolean

Summary: Try to delete an Entry of the DMS or ECM. Success depends on the assigned compliance rules.

procedure DeleteEntry(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): Boolean

Parameters:

  • TempFileBuffer: Temporary VAR Record KVSDMSFileBuffer specifies the file informations to delete.
  • errorMessage: VAR Text specifies the Error Message that possibly occurs.

Returns: Return value of type Boolean specifies if procedure was successfull.

RetrieveAllAvailableSites(Record KVSDMSSiteBuffer) :

Summary: Retrieve all available sites.

procedure RetrieveAllAvailableSites(var siteBuffer: Record "KVSDMSSiteBuffer"): 

Parameters:

  • siteBuffer: VAR Record KVSDMSSiteBuffer specifies the available sites within the DMS or ECM.

RetrieveAllAvailableDrivesForSite(Text, Record KVSDMSDriveBuffer) :

Summary: Retrieve all available drives for given site.

procedure RetrieveAllAvailableDrivesForSite(siteID: Text; var driveBuffer: Record "KVSDMSDriveBuffer"): 

Parameters:

  • siteID: Site Id of the site to get the all drives from.
  • driveBuffer: VAR Record KVSDMSDriveBuffer specifies the available drives within the DMS or ECM for the given site.

GetSiteIDBySiteName(Text) : Text

Summary: Get Site-ID by Site-Name.

procedure GetSiteIDBySiteName(siteName: Text): Text

Parameters:

  • siteName: Specifies the name of the site to return the id for.

Returns: Return value of type Text specifies the Site-ID assigned to the site with the given name.

GetDriveIDByDriveName(Text, Text) : Text

Summary: Get Drive-ID by Drive-Name.

procedure GetDriveIDByDriveName(siteID: Text; driveName: Text): Text

Parameters:

  • siteID: Specifies the Site-Id of the site to look for a drive with the given name.
  • driveName: Specifies the name of the drive to return the id for.

Returns: Return value of type Text specifies the Drive-ID assigned to the drive with the given name.

LookupDirectoryPathForStorageDefinition(Text, Text, Text) : Boolean

Summary: Lookup Directory-Path and returns a selected directory path for storage definition.

procedure LookupDirectoryPathForStorageDefinition(siteID: Text; driveID: Text; var directoryPath: Text): Boolean

Parameters:

  • siteID: Specifies the Site-Id of the site to look for directories.
  • driveID: Specifies the Drive-Id to look for directories. A Lookup page will be opened to select the according directory path.
  • directoryPath: VAR Text specifies the directory path that has been choosen by the user using the lookup page.

Returns: Return value of type Boolean specifies if procedure was successfull.

GetAllArchivingSystemFieldCodes(Text, Text, Record KVSDMSTagBuffer) :

Summary: Get all archiving system field codes (tags).

procedure GetAllArchivingSystemFieldCodes(siteID: Text; driveID: Text; var tagBuffer: Record "KVSDMSTagBuffer"): 

Parameters:

  • siteID: Specifies the Site-Id of the site to look for tags.
  • driveID: Specifies the Drive-Id to look for tags.
  • tagBuffer: VAR Record KVSDMSTagBuffer specifies the list of found tags .

CheckDocumentFactboxDisplayTypeAvailable(Enum KVSDMSDocumentFactbDisplayType) : Boolean

Summary: Check if given Display Type for the Document Factbox is available.

procedure CheckDocumentFactboxDisplayTypeAvailable(docFactboxDisplayType: Enum "KVSDMSDocumentFactbDisplayType"): Boolean

Parameters:

  • docFactboxDisplayType: Enum KVSDMSDocumentFactbDisplayType specifies the given display type to check the availability for.

Returns: Return value of type Boolean specifies if the given display type for the document factbox is available for the according DMS or ECM.

CheckDocumentLinkDisplayTypeAvailable(Enum KVSDMSDocumentLinkDisplayType) : Boolean

Summary: Check if given Display Type for the Document Link is available.

procedure CheckDocumentLinkDisplayTypeAvailable(docLinkDisplayType: Enum "KVSDMSDocumentLinkDisplayType"): Boolean

Parameters:

  • docLinkDisplayType: Enum KVSDMSDocumentLinkDisplayType specifies the given display type to check the availability for.

Returns: Return value of type Boolean specifies if the given display type for the document link is available for the according DMS or ECM.

GetDocumentsFactboxWebLink(Text, Codeunit KVSDMSDocumentsFactboxMgt) : Boolean

Events

OnBeforeGetCIObject(JsonObject) :

Summary: This event can be used in order to set the ClientInfo part for the requests. This part can contain settings like the user`s language, the timeZone for the ELO Client or the country in ISO-3166 format.

[IntegrationEvent(false, false)]
local procedure OnBeforeGetCIObject(var jObj: JsonObject): 

Parameters:

  • jObj: The referenced JsonObject that will represent the ClientInfo tokens.

Example: You need to add Json Tokens to the JsonObject in order to set the appropriate informations like:

jObj.Add('language', 'de');
jObj.Add('country', 'DE');
jObj.Add('timeZone', 'UTC');

OnBeforeSendRequestCreateFile(Codeunit KVSDMSOperationPayload, Text, Text, Text, Text, Dictionary) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestCreateFile(var operationPayload: Codeunit "KVSDMSOperationPayload"; parentId: Text; maskId: Text; directoryPath: Text; fileName: Text; tags: Dictionary): 

OnBeforeSendRequestUpdateFileTags(Codeunit KVSDMSOperationPayload, Record KVSDMSFileBuffer, Dictionary) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestUpdateFileTags(var operationPayload: Codeunit "KVSDMSOperationPayload"; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; updatedTags: Dictionary): 

OnBeforeSendRequestGetFileTags(Codeunit KVSDMSOperationPayload, Text, Record KVSDMSFileBuffer, List) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetFileTags(var operationPayload: Codeunit "KVSDMSOperationPayload"; queryText: Text; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; filteredTagCodeList: List): 

OnBeforeSendRequestGetBase64DataStreamFromFiles(Codeunit KVSDMSOperationPayload, Record KVSDMSFileBuffer, Dictionary) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetBase64DataStreamFromFiles(var operationPayload: Codeunit "KVSDMSOperationPayload"; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var b64FileContents: Dictionary): 

OnBeforeSendRequestDeleteFileOrFolder(Codeunit KVSDMSOperationPayload, Text, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestDeleteFileOrFolder(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; fileID: Text): 

OnBeforeSendRequestRetrieveAllAvailableDrivesForSite(Codeunit KVSDMSOperationPayload, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestRetrieveAllAvailableDrivesForSite(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text): 

OnBeforeSendRequestGetDriveIDByDriveName(Codeunit KVSDMSOperationPayload, Text, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetDriveIDByDriveName(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; driveName: Text): 

OnBeforeSendRequestGetAllArchivingSystemFieldCodes(Codeunit KVSDMSOperationPayload, Text, Text, Text, Record KVSDMSTagBuffer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetAllArchivingSystemFieldCodes(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; siteID: Text; driveID: Text; var tagBuffer: Record "KVSDMSTagBuffer"): 

OnBeforeSendRequestUploadFile(Codeunit KVSDMSOperationPayload, Text, Record KVSDMSDocumentDrive, Text, InStream, JsonToken, Dictionary) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestUploadFile(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; documentDrive: Record "KVSDMSDocumentDrive"; fileName: Text; fileContentAsStream: InStream; sordJToken: JsonToken; tags: Dictionary): 

OnAfterConvertTagsToSearchFilter(Dictionary, Boolean, JsonObject) :

[IntegrationEvent(false, false)]
local procedure OnAfterConvertTagsToSearchFilter(tags: Dictionary; findDocsWithSingleMatch: Boolean; var jObjFilter: JsonObject): 

OnBeforeSendRequestSearchFilesByText(Codeunit KVSDMSOperationPayload, Text, Text, Record KVSDMSDocumentDrive, Record KVSDMSFileBuffer, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestSearchFilesByText(var operationPayload: Codeunit "KVSDMSOperationPayload"; queryText: Text; searchText: Text; var filteredSearchDrives: Record "KVSDMSDocumentDrive"; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): 

OnBeforeSendRequestSearchFilesByTags(Codeunit KVSDMSOperationPayload, Text, Dictionary, Record KVSDMSDocumentDrive, Boolean, Record KVSDMSFileBuffer, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestSearchFilesByTags(var operationPayload: Codeunit "KVSDMSOperationPayload"; queryText: Text; searchTags: Dictionary; var filteredSearchDrives: Record "KVSDMSDocumentDrive"; findDocsWithSingleTagMatch: Boolean; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): 

OnAfterCreateTempFileBufferFromJSONObject(Record KVSDMSFileBuffer, JsonObject, Text, Text, Text) :

[IntegrationEvent(false, false)]
local procedure OnAfterCreateTempFileBufferFromJSONObject(var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; jObjectFile: JsonObject; siteID: Text; driveID: Text; fileTagsToRetrieveArray: Text): 

OnBeforeSendRequestGetFileListFromDirectory(Codeunit KVSDMSOperationPayload, Text, Text, Text, Text, Record KVSDMSFileBuffer, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetFileListFromDirectory(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; siteID: Text; driveID: Text; directoryPath: Text; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary; var errorMessage: Text): 

OnBeforeSendRequestMoveFile(Codeunit KVSDMSOperationPayload, Text, Record KVSDMSFileBuffer, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestMoveFile(var operationPayload: Codeunit "KVSDMSOperationPayload"; queryText: Text; fileBuffer: Record "KVSDMSFileBuffer"; toDirectoryID: Text): 

OnBeforeSendRequestGetURLFromDirectory(Codeunit KVSDMSOperationPayload, Text, Text, Text, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetURLFromDirectory(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; siteID: Text; driveID: Text; directoryPath: Text): 

OnBeforeSendRequestGetURLFromFile(Codeunit KVSDMSOperationPayload, Text, Record KVSDMSFileBuffer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestGetURLFromFile(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; var TempFileBuffer: Record "KVSDMSFileBuffer" temporary): 

OnBeforeSendRequestLookupDirectoryPathForStorageDefinition(Codeunit KVSDMSOperationPayload, Text, Text, Text, Text) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

[Obsolete('Since OperationPayload is internal this event will be removed or reworked in a future version.', '26.0')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSendRequestLookupDirectoryPathForStorageDefinition(var operationPayload: Codeunit "KVSDMSOperationPayload"; var queryText: Text; siteID: Text; driveID: Text; var directoryPath: Text): 

OnBeforeGetDocumentsFactboxWebLink(Codeunit KVSDMSDocumentsFactboxMgt, Text, Boolean) :