Up-front Scheduled Feeds

Creating up-front scheduled feeds requires additional steps. You must complete the following tasks when creating up-front scheduled feeds:

  1. 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.

  2. 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.

  3. 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);
    
  4. 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.

  5. Modify the associated advanced feed options page to allow feed administrators the ability to set these options.

Related Topics