In Depth – PeopleTools 8.50 RSS Feed Publishing Framework

By Larry Grey • October 25, 2009

This post is a follow-on to both our Inside PeopleTools 8.5 webinar (which had over 80 attendees last week) as well as our initial blog post on this subject. As the person sometimes inaccurately referred to as “the father of reporting in PeopleSoft” (Dana Quitslund deserves that honor), I am extremely excited about this feature, as I think most of you should be.

Why is RSS So Important?

Put quite simply, RSS solves probably the most important problem that users want solved in reporting (and it is not to be shown fancy charts with drag and drop). With all the information that they have to wade through every day, users just want to be told when something that’s important to them changed. With PeopleTools 8.5, your users how have the ability to subscribe to your application data and get told when something they care about changed.

Here’s a simple example of an RSS feed I created against the Query Statistics table. It returns data for queries that I’m worried about, and over time will only show me when things change in this respect. Probably a better example would be to create RSS Feeds against queries related to your employees (or how about warehouse inventory information) so you can be notified when things occur versus having to run reports yourself and look for yourself to see if the information has changed.

How it works

Although there are 3 different ways to publish an RSS Feed, I’m going to focus on the one that’s easiest for you to control without having to write code: the Query feeds. From within Query Manager, you will see a new link at the bottom, the Publish as Feed (or Manage Feeds) link.

By clicking on this link, you can either create a new RSS Feed or modify and existing RSS Feed for this query. When you either Create or Edit a feed, you will begin with the Publish Feed Definition page, which allows you to give it a name (the default is the query name), a description, as well as other properties of the feed. When you Clikc on the Advanced Options, you will be getting in the heart of creating the feed.

Just taking the Defaults

If you just take all the defaults when you create a feed, this is what your end-user will see.

As you can see, it’s not very easy to comprehend. Therefore, you will want to spend some time with the Advanced Query Options.

Advanced Query Options

As previously stated, this is where you will really take your query reults and format them into a meaningful feed

The first thing you will see is the set of options in the middle of the page. Here is what they are:

  • Entry Occurance – This is where you specify whether the feed has one row or multiple rows per entry. I personally haven’t had much luck formatting the “All Rows in Entry” results, so I’ve stuck to One Row per Entry.
  • Feed Publishing Type – This defines whether your feed reader will run the query in real-time, or whether the data will be staged for you.
  • Query Feed Security – This is where you determine whether the feed is authenticated to a PeopleSoft user, or whether it’s public. It’s important to note that you will most likely want to use a feed reader that can pass PeopleSoft credentials (such as the Enterprise Portal), or use a Single Signon Solution on the desktop (such as ours) and use a client tool to read the RSS feed if you use a secured feed.

The next section is the Feed Entry Content Mapping. This is where you have the ability to specify the title, the formatting, and how the feed entries are determined as updated. As these are the most important options, let’s go into them in more detail.

Actually, even before that, I would like to discuss how data from the query can be used in each of these “Entry Templates”. You see, you have the ability to pass in Query results, Message Catalog Entries, System Variables, and “Templates”. All of these are surrounded by the % sign (just as all meta-variables are in PeopleTools). Here is what each is:

  • Query Fields – These are fields in the Alias.ColumnName syntax in the select clause of your Query. For exampmle, a query against the PS_JOB table may have a field of A.EMPLID.
  • Message Catalog – These refer to the message catalog entries using the syntax of MSGT:{setnum}:{msgnum}, or MSGT:1:2 for message set 1, message 2.
  • System Variables – These are you garden variety System Variables, such as Userid, DbType, or Language
  • Templates – These are shortcuts for generating default data for a row in the query result. As of release of PeopleTools 8.5, there are three template types that are available: a GUID, ROW.HTML (which is a table without headers of a row of data), and ROW.TEXT (which is just a comma separated string of a row of data from the query… again without column headings)

Okay. Now that we’ve got that covered, let’s go into each of the common Feed Elements you can map in the Advanced Feed Options page.

Entry Content URL

This is where the end-user will drill to when they click on the feed title. You can either specify a fully-qualified URL (including the server name), or specify a URL that begins with /psp/ or /psc/ if you want to define a relative one from the current PeopleSoft system. Keep in mind that you can pass in parameters from the query results using the syntax described above. I was hoping to see more of the Query Drilling URL functionality replicated here, but it isn’t so you’ll need to know how to compose the proper URL yourself and will have to go farther up the chain of the URL to define a relative one.

Here is a sample Entry Content URL I put in one of my Queries:


Entry Full Content

This is what shows up for the detail of each feed entry. For Query results, I suggest you create a table with headings with all the fields you’re interested in (but not the field you put in the title). You can use full HTML syntax with all of the variable substitution for the data.

If you click on the Edit push button, you can be sent to a web-based HTML editor that’s embedded in PeopleTools. It even has a helper dialog if you don’t have the list of variables you can use handy. Here’s what it looks like.

Entry ID

This is the internal ID for each feed entry that shows up inside your RSS feed. It generally represents an identifier for each row of data that comes back from the Query (assuming that you’re using the One Row per Entry option).

It’s important to note that what you specify for this element in combination with the Entry Updated element will determine how the entries will show up as “new” in your feed reader. With the playing around I’ve done, I’ve found that putting a Last Update DateTime field works very nicely here. I’ve tried other key fields of the query without much luck (for example, putting the QRYNAME in there for a feed that returns query statistics won’t flag updated entries as new in the feed, which is what I want if I want to know if the statistics have changed for query). I found that the GUID (which is the default) was the worst option, because it simply causes the feed reader to think every row returned is new each time it requests the data.

Entry Title

The Entry Title is exactly what you would expect it to be. Because a lot of my queries are against data that people are not very good at putting descriptions for, I end up usually stringing together the meaningful keys to the data with a space and dash in the middle. Again, you just use the alias.columname syntax to do this.

Entry Updated

Just as I did for the Entry ID, I use a last updated datetime field whenever I have one available. Although effective date may be tempting, you will find that it will not mark items as being updated if they are modified in corrections mode.

How End-Users Subscribe to Quer Feeds

There are several places in PeopleTools 8.5, where your users can go to subscribe to a feed.

  • The My Feeds menu item in the main PeopleSoft menu
  • From within Query Manager when you have a query opened with feeds published
  • From the RSS Feeds portal pagelet in the Enterprise Portal

Probably the most common place your users will go is the main menu.

When they go there, they can search through the list of feeds available to them and click on the one they wish to subscribe to:

Then, they can use their feed reader to subscribe to it and they’re up and running.

A few parting notes

Here are a few things that I found as I started using this feature

  • You absolutely need to go through the PeopleBooks that covers how to configure the RSS Feed Publishing Framework. I ended up losing at least 1 week of time because I never got an error message when I didn’t do this step and my framework was misconfigured. Hint: if you click on an RSS Feed to subscribe to it and you get the search page again, most likely you’re misconfigured. Rahul at the PeopleTools Demogrounds was kind enough to show me that My URLs were wrong and let me look at his correct configuration to verify I was doing it right.
  • I was disappointed that the ROW.HTML template was not more robust. I would very much like to see column headings included as well as more formatting in it. As such, you should expect to write your own HTML for your RSS Feed results.
  • I really liked the thought put into editing the templates. At first, I got confused by the option to expand the edit box, thinking that was the best/only way to edit it. I’m considering personalizing the grid to hide that option in my environment, so the edit button is more prevalent.
  • I’m hoping that the helper user interface and some of the syntax for Drilling URLs in Query will be adopted in the Entry URL template in future releases.
  • I would like to be able to do more with RSS Feeds from the search pages for Query Manager or Query Viewer. In Query Manager, I would like to create a feed against a query without needing to open it. In Query Viewer, I would like to be able to subscribe to feeds related to the queries in my search results.

All of that being said, I am extremely impressed with the work for RSS Feeds in Tools 8.5. The issues I highlighted are very minor in nature, and it’s evident that a lot of though went in to this feature, and it will make a big difference to PeopleSoft customers out there.

Labels: EnterpriseRSS, PT850, Query

Stay Updated

4 Replies to “In Depth – PeopleTools 8.50 RSS Feed Publishing Framework”

  1. The default user assigned to the ANONYMOUS node has to have appropriate permissions. If this is similar to other areas where ‘public’ access is used I suspect the following:

    a) you have to ensure that default user has access to the various feed components;
    b) you have to ensure that the default user on that node is also the GUEST user indicated on the web profile
    c) you have to enable Public Access on the web profile.

    I may be wrong – there’s also a setting for Weblogic related to security that may circumvent the traditional public/guest access for PeopleSoft, but I would give that a shot.

  2. I am trying to publish a query as a RSS feed in PeopleSoft HRMSv9.1/tools v8.50.

    created a public query and published as a feed. I have taken default settings and made the feed as public feed. Configured the IB gateways, default node and anonymous node.

    When i navigate to PS HOME –> My Feeds
    I searched for the created query feed. When i click on the feed i created, I got the error ‘You are not authorized to access this component (40,20)”.

    My question is where can we give security to query feeds. I followed all the steps in peoplebooks. they didn’t mentioned any thing about feed security.

  3. The previous comments were made by me an oracle employee and the views expressed in the comments are my own and do not necessarily reflect the views of Oracle.

  4. Entry Content URL :
    Here is a tip to use the drill in URL from PSQuery.
    After a drill in URL is created there is a link next to it “Use as Feild this is create a field for the drill in URL , this can be used in the mapping.

    Entry ID:
    There are little question marks next to mapping grid , which try to provide little information for the option type , here is one from entry ID
    ” This needs to be permanent, universally unique identifier.
    Recommended to use URL: QERYNAME:KEYS
    This needs to be changed to above format and use GUID in situations where a unique combination can not be achieved using field concatenation.
    Special XML characters will be escaped at runtime.

    Feed readers might use this to detect changes updating the existing entry instead of creating a new entry every time this comes in.”

    Feed Subscription:
    Check out “My Feeds” in the main menu for better ways to subscribe to the feeds ,
    it provides a mechanism to expose the list of feeds in OPML format which most feeds readers can understand.
    It also provides a way to search and filter all the feeds , this might be a good starting point for end users to see and subscribe tot he feeds.

Comments are closed.

Request a Demo