Basic Principles

The Content Management Server, the Search Engine Server, and the Template Engine include a so-called streaming interface. This interface allows you to transfer large amounts of data to or from an application without using-up as much RAM as the data occupy on the hard disk. The data is split into several blocks that are transmitted one after the other and written to a file at their destination. This means that the amount of memory consumed during this process is limited to the size of a single block.

There are three types of operations that can be performed using the streaming interface: uploads, downloads, and transferring the output of custom commands. In each of these operations, a unique identifier is used to refer to the data that have been transferred or are to be transferred. For the three types, this means:

  • Upload

    When files are uploaded to an application, a ticket is issued which must be specified instead of the data in the next operation. After a large blob has been transferred to the Content Management Server, for example, this blob can be assigned to a content by specifying the ticket in a request directed to the XML interface.

  • Download

    If, for example, a blob is asked for by means of an XML request and the application is allowed to use streaming, a ticket is returned instead of the blob in the response if the amount of data exceeds the configured limit (see tuning). The data can then be fetched from the streaming interface, whereby the ticket is specified (see the example in the next section).

  • Custom Commands

    Via the GUI (and thus via the XML interface) custom commands can be executed. Since the output of a command is normally viewed in the browser, the answer to the execution request is a streaming ticket. Specifying this ticket, the output of the custom command can continuously be retrieved, i. e. until the command terminates.

The streaming interface can be reached via the HTTP port of the server application. The base URL of the interface is /stream . For downloads and custom commands the ticket ID follows as another URL component (see the examples in the following sections).

Uploaded or requested date are available for the time that has been configured in the streamingTicketValidityTimeInterval system configuration entry in the tuning section. Tickets and the data to which they belong are automatically deleted when their configured maximum age is exceeded.