Incremental Feeds

An incremental feed is a feed that has been published and updated with time stamps that allow the feed content to be delivered incrementally. An incremental feed allows the Feed Publishing Framework to deliver only the feed content that has changed since the user last requested the feed.

Note:

The incremental feed option is incompatible with the paged feed option. For the delivered feed data types that can be specified as paged, the Incremental option is disabled when Segmented is selected.

Incremental feeds save network bandwidth by using HTTP conditional GET headers. The HTTP conditional GET headers supported are:

  • ETag

  • If-None-Match

  • Last-Modified

  • If-Modified-Since

Note:

Not all feed readers support incremental feeds, which requires that the reader retain the feed request time stamp and present that data as part of the next feed request.

The following diagram illustrates how HTTP conditional headers are used with incremental feeds. With the initial feed request, the feed reader does not include any HTTP conditional headers. In the response, the PeopleSoft system sends the complete feed data and includes two HTTP conditional headers: ETag equals the feed ID and Last-Modified equals the feed request time stamp. When the feed reader makes a subsequent feed request, it includes two HTTP conditional headers: If-None-Match equals the ETag sent by the PeopleSoft system and If-Modified-Since equals Last-Modified sent by the system. In the response, the PeopleSoft system sends just the incremental feed data and includes the same two HTTP conditional headers as the initial response; Last-Modified now represents the latest feed request time stamp.

Incremental feeds

As delivered, the Feed Publishing Framework provides support for scheduled, incremental feeds. For the feed data source, you must define the DSPARAMETER_INCREMENTAL data source parameter and assign an appropriate value to it. For real-time, incremental feeds, you must also define the DSPARAMETER_INCREMENTAL data source parameter. In addition, you must implement the PeopleCode to deliver an incremental feed in the data source's execute method.