Bridging the gap to Fusion through our PeopleSoft Solutions Extenders
Grey Sparling PeopleSoft Expert's Corner
Oracle Blogs
 Subscribe Now!

Sunday, February 21, 2010

Java PeopleSoft


You already knew that Java was going to be an important skill for your PeopleSoft developers since its the underlying technology for Oracle Fusion, but now that Oracle owns Java, it's even more important.

In support of that, we here at Grey Sparling have scheduled some webinars on using Java with your existing PeopleSoft applications. As is always the case with our webinars and conference presentations, these will be very hands on, demo-intensive sessions.

Check our events page for which dates and times would work best for you.


Labels: , ,

Tuesday, January 05, 2010

Grey Sparling "PeopleSoft Experts" Workshops and Virtual User Conference Sessions

When we conducted our first webinar in February to supplement our blog, we had no way of anticipating the reception we would have.

In the short 10 months we conducted these webinars, we had well over 1,000 session attendances, allowing PeopleSoft customers to attend sessions from their own desks.

If you were one of these attendees, you would have extended your knowledge in the following areas:

  • Development Best Practices
  • Java development techniques
  • Reporting Best Practices
  • Automated Functional Testing
  • Advanced Reporting Techniques
  • Utilizing Social Networking tools with PeopleSoft
However, our PeopleTools 8.5 webinars were by far the most well received.
  • PeopleTools 8.5 Usability Features
  • PeopleTools 8.5 Reporting Features
  • PeopleTools 8.5 Collaboration Features
If you've attended one of our sessions, you'd also know that we spend most of our time demonstrating our topics on a live PeopleSoft environment, showing content that cannot be found anywhere else.

Feedback from our Session Attendees

We thought we'd share some of the feedback we've received from other PeopleSoft customers

"These sessions are incredibly valuable to our project team. We find these workshops more informative than a full day of training."

"Thank you for doing these webinars as we are finding them to be interesting and helpful"

"Many thanks to you and Chris for an excellent 8.50 Tools webinar. We all really liked it."

"Thank you very much for such a wonderful webinar! It was indeed very rewarding and very robust indeed."

"As usual, you guys always have the best topics."

"This was my first session with you and the experience was awesome. I really like the way it was organized and structured in highlighting the new features in 'PeopleTools 8.50'."

Upcoming Virtual Conference Sessions and Workshops

So, in the interest of keeping a good thing going, we have just put together our next round of sessions, and we will continue to offer these workshops free of charge. You can register by clicking on the description of any of the events in the calendar below (and we will continue to schedule new webinars all the time, so come back often).

We also encourage you to share this with anybody who works with PeopleSoft, so they can benefit from this as well.

Finally, we're always looking for ideas for new sessions. If you would like to share an idea with us, feel free to contact us at Webinars@GreySparling.com

Labels:

Friday, January 01, 2010

Diff/Merge Page in PeopleSoft Application Designer

Visual page diff/merge was one of the cool new features added back in PeopleTools 8.48. Visual page diff/merge lets you see two instances of the same page definition side by side and step through the differences visually. It's a huge improvement over just seeing the page field attributes in the classic PeopleTools compare reports.

We've recently added native support in our Version Control for PeopleSoft product to support this, but the last few people that we have shown our integration work to weren't even aware that Application Designer even had this functionality this at all. So, to kick off 2010 we'll take a look at how visual page diff/merge works.

Visual Page Diff

The page that we'll use is from our PSIDE Helper product. The purpose of the page is to allow someone to select different PeopleTools objects in the current database and see how to generate a URL opens that object in Application Designer. The different prompt fields that are displayed are hidden/unhidden based on the definition type that you have selected. Here is what it normally looks like.


We went ahead and made some changes to the page so we have some differences to look at. The page below is what is currently in the database that we are logged in to.


In Application Designer select Tools -> Diff/Merge Page. This menu item only appears when you have a page definition open (which is probably part of the reason that this feature is not more widely known). You'd then select your target; either another database or an Application Designer project export file.


This opens up a window that shows both page definitions side by side, highlighting the fields that are different in some way.


The toolbar in App Designer gets four new buttons when the visual diff/merge is active. Two are for navigating up and down through each field that has differences, and two are for choosing whether to keep the current field or merge in it's definition from the target (there are corresponding menu items as well).

As you navigate up and down between the changed fields, the properties values dialog box changes to show just what properties have changed for the current field.

The properties dialog does not show the field name (it just shows field ID at the top), but the currently selected field does get a dashed outline to help you see which field is the current one. In the screenshot below the bottom field ("Field Name") has been selected.

It doesn't show as well via static screenshots, but as you navigate up and down through the fields in App Designer, it's quite usable.

Visual Page Merge

Seeing the differences in their visual context is nice, but how about the merging? Let's suppose that we wanted to merge back the fields for Component and Market, but not for the others. Click the down button until the Component field is selected.


Then click B in the toolbar and the Component field from the target is merged into your current page definition. The screenshot below shows the Component field back in it's original position on the left side. The properties dialog shows that the properties that were different when we started the merge are now the same. Note that the merge is at the field level, not property by property.


If you wanted to put it back before saving, then just click the A button in the toolbar and the Component field would move back to the right side of the page definition.

To do the same for the Market field, just click the down button once more to select the Market field.



Then click the B button.


Much better than trying to move fields around and set properties manually when there are differences!

At this point you can close the window and since there were changes, you'll get prompted to save them.

This saves the changes to the PeopleSoft database that you are logged into just like you had modified the fields manually.


Version Control Support for Visual Page Diff/Merge

As I mentioned in the beginning we have added native support for using a Grey Sparling Version Control repository as the target for doing the visual diff/merge.



By selecting "Version Control" as the target, we will automatically grab the page definition from the Version Control repository and use that. In the screenshot below we're using the latest revision (colloquially known as the HEAD revision) from the DEV branch of version control.


You're not limited to just using the latest revision in version control though. You can pick any earlier revision that has been committed to version control. You can also pick different branches from version control. Maybe you want to use the revision that was migrated to production last month for doing the diff/merge; not a problem.

Labels: , ,

Thursday, December 10, 2009

Related Content Feature in PeopleTools 8.5

As part of the Social Networking webinar we gave yesterday as part of our PeopleSoft virtual user group meetings, we spent a lot of time discussing how the new Related Content feature in PeopleTools 8.5 facilitates collaboration and social networking within PeopleSoft.

Cool. What is it?

Well, related content is a new Portal frame that is delivered within PeopleTools (just as the navigation frame is a Portal frame delivered within PeopleTools). It allows contextual content related to your page to be displayed at the bottom of the page. Many of the demonstrations you'll see from Oracle highlight content from the Enterprise Portal or Analytics (OBIEE), such as the following

  • Blog
  • Wiki
  • Tags
  • Discussions
  • OBIEE Report
However, you can put pretty much anything that you want there as long as it has the following:
  • A URL way of accessing it that returns an HTML page
  • Query strings as a means of passing the parameters you want (i.e. a question mark in the URL with name1=value1&name2=value2 syntax.
  • It's a standard PeopleSoft page
  • It's a standard PeopleSoft Query.

Example page with Related Content

Here are a few examples of what I'm talking about. You'll notice that this page, the performance document selection page in HCM9.1 has a "related information" link with the other portal links in the upper right. In this circumstance, we've attached 3 different types of related content that either take key fields, system variables (such as current user or current page), or hard-coded literals).

Because we've been doing a lot of version control demonstrations recently, we thought it would be nice to show how you could link your version control tool directly into your transaction pages.

The first example is to show a WIKI page related to the content displayed. Although the Enterprise Portal provides a complimentary license for using its WIKI related to your PeopleSoft application, we're using our version control WIKI here, where we keep development notes and other information related to the current page or business process.

Or, you could do a search to find information related to what's being displayed. In this circumstance, we're using a custom search created in Google that looks at online PeopleBooks, common PeopleSoft websites, blogs, and bulletin boards to return results.

Or, you could display tickets related to what's being displayed, such as those in the Grey Sparling Version Control product for PeopleSoft.

Setting up a new related content service

There are two pieces to setting this up.

  1. The first is to create a service definition that identifies the source of the related content as well as the set of parameters that are needed for it.
  2. The second is to attach that service to each component where it will be displayed and to map values into the parameters required for the service definition.
In this example, we'll create a service definition for a query that lists out the set of employees you have as a manager. The service definition can be create at PeopleTools > Portal > Related Content Service > Define Related Content Service.

Because we chose a query with a single bind required for it, that is the only one that shows up in the list. One thing to note, is that the service can only pass in query strings (it cannot use data to create the main part of the URL. Also, you have to create a parameter for every name=value in the URL, even if it's always going to be the same. Although it would be nice to set a default value here, you will need to provide the literal value mapping when you attach the service to each component using it. In our google search example, we needed to pass the id of the custom search as a query string as well as the search value as a separate parameter, even though we will always be using the same custom search.

Attaching related content to a component

Now that we have our service definition, let's put it in use. To do this, you navigate to at PeopleTools > Portal > Related Content Service > Manage Related Content Service. If you choose to assign a service to a component, you will be taken to a page to use the Portal structure to identify what page you want to work on.

Then, you attach the related content services you want to use

Next, you identify where you want to source each parameter that the service requires

Finally, you identify the key field, variable, or value to pass in for that parameter. In this circumstance, we're passing the current User's EMPLID into the query as the Supervisor ID, which is why we chose a session variable as the source type in the prior step.

TADA!! You're done!!

If you go back to the page, you'll see the new related content. You may notice that the query that we've linked also utilize a new feature in PeopleTools 8.5, Query Drilling URLs. This will allow you to navigate from the query to content related to it as well.

Labels:

Sunday, November 08, 2009

Application Designer on Linux

One of the requests for enhancements in the PeopleTools Product Strategy group on Oracle Mix is for the ability to run Application Designer on Linux. This was actually discussed in the session that the PeopleTools Product Strategy group hosted at Oracle OpenWorld this year.

Although most people think it's not possible, read on and see that you can have an Application Designer icon on your Linux desktop that works just like Windows. But first, a bit of relevant history.

History

If I ever want to freak out old-time PeopleTools developers I just need to say the words "Cross-compiler". Back in the 1990's, when all of PeopleSoft was a Win32 client/server application, there was a strong push from the higher education community for Mac support. The idea of maintaining a Mac specific port of the PeopleTools client was not viewed as something that we had the skills or resources to do (either to create it or maintain it if we paid someone else to do it).

I don't know where the initial idea came from, but someone pointed out that the Microsoft C compiler that was in use at the time in PeopleSoft supported cross compiling and targetting the resultant binaries at the Mac platform as well as Windows. Keep in mind that this was long before Apple switched to using Intel for their chips, so it wasn't just a different OS, but a different underlying CPU architecture as well.

To make a long and painful story short, it worked just well enough for a lot of internal PeopleTools development resources to be devoted to working on it, but never well enough for actual production use. It never actually saw the light of day.

It would probably be a little bit easier today, since the PeopleTools internals have been re-factored quite a bit (appserver re-factoring was a big part of this, but other things helped as well (64 bit platforms, Itanium, etc.)). In addition, there have been advances in cross-compiler technology as well. But we're going to take a slightly different approach :-)

Environment

The desktop environment that we're working with is Ubuntu 9.04. The PeopleSoft environment is HCM 9.1, running on PeopleTools 8.50. Here's a screenshot of (a portion of) the desktop.


We've even got a Query icon as a bonus! What happens when we click on the icon?


Yep, that's App Designer. So, what's the trick? Well, we cheated a little bit. We didn't really get Application Designer running directly on Linux (sorry Nicolas!); we used the Linux Terminal Services Client, which ships as part of Ubuntu (it's available for other Linux distributions as well) and setup a direct link to launch Application Designer.

We're also using our Desktop Single Signon product to be able to launch Application Designer without being prompted for our PeopleSoft credentials. Here's what it would look like without single signon.


After filling in your PeopleSoft credentials, then you'd be in App Designer.

Here's what the configuration looks like to make this work. Launch the Terminal Server Client. In Ubuntu the menu path is Applications -> Internet -> Terminal Server Client.


The key things here are the Terminal Server host that I want to connect to and my Windows network credentials. If I didn't fill those in in this configuration dialog, then I would be prompted for the credentials when I first tried to access the Terminal Server.

Not much interesting on the display tab, except that you can set the connection to go full screen instead of just being within a window on your desktop. If you do this, then you just need to press Ctrl-Alt-Enter to get out of fullscreen mode.

The interesting things here are whether you want sound or not (not much reason to for App Designer development so we turn it off) and whether we want a drive from our machine mapped in to the Terminal Server environment.

When you first setup a Terminal Server connection the Programs tab will be blank by default. This will give you the standard Windows desktop when you access the server. In our example above though, we configured it to launch Application Designer.

That's actually not 100% accurate though. Setting it up to directly launch pside.exe will work to get in to Application Designer, but this will leave your Terminal Server session tied up when you quit.

Instead what we do is launch a batch file that will run Application Designer and then when it App Designer is closed will logout the session. That's the little command prompt window that you see in the screenshots above. We use a little batch file trickery (found here) in order to start the Terminal Server session with the command prompt window minimized.

The Terminal Server client lets you save off the different parameters in a .rdp file (named after the Remote Desktop Protocol), which is how we setup the desktop icons to be able to launch the different PeopleTools.

Fun stuff even though we didn't actually get Application Designer running natively on Linux.

Labels: ,

Sunday, October 25, 2009

In Depth - PeopleTools 8.50 RSS Feed Publishing Framework

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:

/psc/hcm91dev/EMPLOYEE/HRMS/q/?ICAction=ICQryNameURL=PUBLIC.GS_EXEC_LOG_FOR_QRY&BIND1=%A.QRYNAME%

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: , ,

Sunday, October 18, 2009

Query Drilling URL Feature in PeopleTools 8.5 Review

While attending Open World last week, I was reminded in Robert Taylor's session on reporting, about the Query Drilling URL feature in PeopleTools 8.5. I quickly decided to spend some time playing around with it to see how it works and what it does.

Although drilling from queries is one of the first topics we've presented at user group meetings, there have been some significant improvements in PeopleTools 8.5 (see blog entry for powerpoint with the drilling techniques supported in versions prior to 8.50)

Benefits of this feature in PeopleTools 8.5

Although it was possible to embed drilling hyperlinks in to queries since PeopleTools 8.45, there were several limitations in how it was accomplished that made it difficult to design, manage, support, and even use.

  • Because the only way it knew whether to turn data into a hyperlink was to evaluate the HTTP: at the beginning of the data returned from query column, references were hard-coded to a specific environment (meaning you have to fix the URI when moving between environments)
  • The syntax for embedding references to pages, queries, and references to data to pass into the pages or queries was very cumbersome and depending on the platform, required knowledge of both trimming data and concatenating syntax.
  • You could not attach a drilling link to data in the query. In other words, you have to display the drilling link in the result set (often a very large string) as its own entity. Ideally, you would like to be able to click on an EMPLID or DEPTID and drill to data for either of those
Fortunately, the features in PeopleTools 8.5 address these limitations
  • The expression object in Query is extended with a new expression type called Drilling URL. Because it is a special type of expression, Query knows to turn it into a hyperlink regardless of the data in it.
  • It supports relative references that begin at the content type (Query, Component, or External). This means that queries moved between environments do not need to be modified to fix URI values
  • It allows linkage between bind values and data in the query easily without requiring meta-sql or other advanced SQL syntax
  • It allows specifying which fields the URL should be attached to. This means that your queries look a lot better and are much more usable. These links are also embedded in all output types of query.

How to Use it

To take advantage of this feature, you will want to create an expression for each drilling URL you will want to put in your query. You first go to the Expressions tab in Query and add the expression. When you ge there, there will be a new expression type:

Depending on the type of expression you want to define, you can click on a link that helps you build the appropriate syntax for the URL.

Here is what is displayed when you click on link to specify a query URL

Here is what is displayed when you click on the link to specify a component URL

These pages are very helpful in understanding how to specify the pieces needed to drill to a query or component, what is needed by the query or component as parameters, as well as what is available in your query to pass as parameters.

Going a little deeper

However, it's interesting to note that all the pages really do is create the syntax for the expression (and the expression is stored in the same table as other expressions). Why don't we look at this syntax just to understand a bit more about it?

Syntax for drilling to a page

'/c/ADMINISTER_WORKFORCE_(GBL).PERSONAL_DATA.GBL?Page=PERSONAL_DATA1&Action=U&EMPLID=A.EMPLID:A.EMPLID:A.NAME_DISPLAY'

The first thing you'll see is that the first part of the expression is a standard PeopleSoft URL to a page starting from the /c/ and going to the end of the &Action=U. If you were to supply the host, site, portal, etc. information from a common hyperlink, you could easily type it in the address bar of your browser and go to the page.

The second thing you'll see is the reference between the field in the search record EMPLID= and the field in the query A.EMPLID. You may also notice that you didn't have to exit out of the quote of the text in order to enter this like in previous versions.

Finally, you may notice the syntax of :A.EMPLID:A.NAME_DISPLAY. This syntax tells you which fields to attach the URL to (colon first, then query field second).

Syntax for drilling to a query

'/q/?ICAction=ICQryNameURL=PUBLIC.GS_EMPL_ACTIONS&BIND1=A.EMPLID:A.HIGHEST_EDUC_LVL'

In a manner similar to pages, everyghing up to and including the query name is a standard URL that could be typed into the browser once adding the host, site, portal, etc. to the beginning. It also uses the standard PeopleSoft syntax of BIND2, BIND2 for each expression. Finally, it uses the same syntax of binding to query fields for both passing parameters and attaching the URL to a field.

Things that I found in playing around

As I played around with this feature, I found that you definitely don't want to stray too far outside of the expected syntax generated by the pages if you key in values manually.

There were a few situations where I wanted to pass a literal value into a page that didn't exist in my query (for example, drilling from an employee into the Job table, where the job component needs EMPL_RCD as a parameter). I tried a couple of ways to pass in a value of 0 for it, and managed either to crash the app server or put it into an infinite loop (as I am working with one of the first releases of this, I am sure that this is already addressed in one of the patches that have recently come out). To pass the literal, though, I didn't even need to try to hard-code it in my expression. Instead, I simply created a number expression with a value of 0 and then used the expression as my parameter for EMPL_RCD.

I was also hoping that I could drill directly to excel when drilling from a query to another query. I modified the ICQryNameURL to ICQryNameExcel, but the resulting link ended up still being ICQryNameURL. I have a hunch that the way the expression works is to find the appropriate tokens and pull them out versus taking the URL as keyed, and that this will make sure that there aren't injection security risks created by this feature.

Conclusion

In the end, I am very pleased with this feature, and think that customers will benefit greatly from it.

Labels: , ,