Download files directly from Content Source [since 9.7]

In Enterprise Server 9.7, improvements have been made in order to make communications with external file sources faster. It allows for clients to request direct file links to a Content Source, with which they can download file content directly from the Content Source, instead of it having to go through Enterprise Server first.

This omits Enterprise Server having to download the file content from the Content Source to a temporary folder and sending it to the requestor through DIME or Transfer Server.

In order to facilitate this new feature, the GetObjects service has been expanded with two extra options:

Aside from this, the Attachment element has a new ContentSourceFileLink property. This property may contain a direct link to the Content Source file when this has been requested.

Below is an example using Elvis as the Content Source. Requesting an object that originates from Elvis can be done as follows:

<GetObjectsRequest>
	...
	<RequestInfo>ContentSourceFileLinks</RequestInfo>
	...
	<SupportedContentSources>ELVIS</SupportedContentSources>
	...
</GetObjectsRequest>

Which returns a response like the following:

<GetObjectsResponse>
	<Objects>
		<Object>
			...
			<Files>
				<Attachment>
					...
					<FileUrl xsi:nil="true"/>
					...
					<ContentSourceFileLink>http://...</ContentSourceFileLink>
					...
				</Attachment>
				...
			</Files>
			...
		</Object>
	<Objects>
</GetObjectsResponse>

When talking to an older version of Enterprise Server or when the direct download feature is not supported by the Content Source, the returned ContentSourceFileLink is set to nil. In that case, the client should fall back to the FileUrl or Content elements instead to download the file via resp. the File Transfer Server or Enterprise Server (DIME).