Up-front Scheduled Feeds
Creating up-front scheduled feeds requires additional steps. You must complete the following tasks when creating up-front scheduled feeds:
-
Ensure that the service operation you use to publish the up-front feed messages to the Integration Broker queues satisfies these conditions:
-
It must be an asynchronous, one-way service operation.
-
It must have PT_FEED_REQUEST.VERSION_1 as the message.
-
It must be secured appropriately. This security is enforced by the scheduled feed GetFeed service operation handler at run time.
-
The queue used in the service operation must have the Archive option enabled if the up-front feeds are to be archived. If this option is not enabled, then the Archival Feeds will delete the feed messages in the Integration Broker queue.
-
-
List the service operation used to publish the up-front feed messages in the Define Feed Data Types page. The system uses this information to archive feeds.
-
Set the feed format and language as message attributes before publishing the message:
/* Set the feed format of the message (i.e. Atom 1.0). */ &succeeded = &responseMsg.IBInfo.AddAttribute(&feedFactory.Utility.⇒ QUERYPARAMETER_FEEDFORMAT, &feedDoc.FeedFormat); /* Set the language of the message. */ &succeeded = &responseMsg.IBInfo.AddAttribute(&feedFactory.Utility.⇒ QUERYPARAMETER_LANGUAGE, %Language); -
Define the DSPARAMETER_MAXROW, DSPARAMETER_SF_PAGING, DSPARAMETER_INCREMENTAL, and DSPARAMETER_SF_MAXMINUTES data source parameters found in the PTFP_FEED:UTILITY:Utility application class and set them to appropriate values in your implementation of the processSettingsChange method for your data source. The system requires DSPARAMETER_MAXROW and DSPARAMETER_SF_MAXMINUTES for archiving feeds and it uses DSPARAMETER_SF_PAGING for paged feeds and DSPARAMETER_INCREMENTAL for incremental feeds.
For example:
&thisDSP = %This.addParameter(&utility.DSPARAMETER_MAXROW, ⇒ String(&utility.SF_MAXROWOPTION_LATESTMSG)); &thisDSP.Name = &thisDSP.ID; &thisDSP.Description = MsgGetText(219, 3005, "Message Not Found - ⇒ Max Entries"); &thisDSP.FieldType = &utility.FIELDTYPE_NUMBER; &thisDSP.DefaultValue = String(&utility.SF_MAXROWOPTION_LATESTMSG); &thisDSP.Value = &thisDSP.DefaultValue; &thisDSP.Required = True; &thisDSP = %This.addParameter(&utility.DSPARAMETER_SF_PAGING, ⇒ String(&utility.SF_PAGINGOPTION_NOPAGING)); &thisDSP.Name = &thisDSP.ID; &thisDSP.Description = MsgGetText(219, 3006, "Message Not Found - Paging"); &thisDSP.FieldType = &utility.FIELDTYPE_SIGNEDNUMBER; &thisDSP.DefaultValue = String(&utility.SF_PAGINGOPTION_NOPAGING); &thisDSP.Value = &thisDSP.DefaultValue; &thisDSP.Required = True; &thisDSP = %This.addParameter(&utility.DSPARAMETER_INCREMENTAL, ⇒ String(&utility.INCREMENTALOPTION_NO)); &thisDSP.Name = &thisDSP.ID; &thisDSP.Description = MsgGetText(219, 3008, "Message Not Found - Incremental"); &thisDSP.FieldType = &utility.FIELDTYPE_SIGNEDNUMBER; &thisDSP.DefaultValue = String(&utility.INCREMENTALOPTION_NO); &thisDSP.Value = &thisDSP.DefaultValue; &thisDSP.Required = True; &thisDSP = %This.addParameter(&utility.DSPARAMETER_SF_MAXMINUTES, ⇒ String(&utility.SF_MAXMINUTES_ALLMSGS)); &thisDSP.Name = &thisDSP.ID; &thisDSP.Description = MsgGetText(219, 3007, "Message Not Found - Max Min"); &thisDSP.FieldType = &utility.FIELDTYPE_SIGNEDNUMBER; &thisDSP.DefaultValue = String(&utility.SF_MAXMINUTES_ALLMSGS); &thisDSP.Value = &thisDSP.DefaultValue; &thisDSP.Required = True;Important:
The incremental feed option is incompatible with the paged feed option. Do not allow both options to be set simultaneously.
-
Modify the associated advanced feed options page to allow feed administrators the ability to set these options.
Related Topics