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

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

Tuesday, October 13, 2009

OpenWorld 09 PeopleTools 8.5 Customer Perspective

I really liked this session, as it allowed 4 beta customers of PeopleTools 8.5 discuss their experiences with the release as well as how they feel they will benefit from adopting it. It consisted of a panel of 4 people (all of whom, coincidentally, readers of our blog... so of course I have to say how much I enjoyed the session ;-)

Here are the people and organizaitons on the panel

  • Tina Thorstensen - Arizona State University
  • Adrian Alvi - Boise Corporation
  • David Coveney - Boeing, Corp.
  • Graham Smith - Oxfam

Arizona State University

Tina started by providing an overview of her organization. Here are several of the salient points she made about her experience with the PeopleTools 8.5 beta:

  • Their customers are students. 18-24 year olds do not really understand why a product like PeopleSoft might not have the user experience of Myspace or Facebook. User Experience is very important to them
  • The new menus and personalization options are important
  • Modal messages are also important
For them, the justification was primarily for the User Experience and Developer enhancements.

For their plans, they will be doing a Tools-only upgrade next year. Later they will do the business justification for the application upgrade as they are more extensive (and the tools upgrades are already budgeted as part of their normally yearly maintenance).

Boise

Adrian at Boise had similar comments to Tina. Here is their feedback on their PeopleTools 8.5 beta experience

  • They like the grid enhancements
  • They like the psconfig home and how it will allow them to manage their binaries separately from their logs and configuration settings
  • New menu system
  • Improved performance
  • Installation was straightforward after understanding key changes
  • Oracle is listening to their feedback.
From an upgrade planning perspective, they plan to go to Financials 9.1 on Q3 of 2010.

Boeing

David discussed his experiences with PeopleTools 8.5 as follows. First he discussed their goals for the beta:

  • Allow for earlier testing
  • Answer the question "Does it meet the hype?" (answer is definitely yes)
  • Identify testing requirements for upgrade
  • Identify any potential issues or items
  • Validate fixes from reported issues in current tools release
  • Gain an early understanding of the usability features and the opportunity to demonstrate them to customer community
    prototyping of new features that they use...
    • usability enhancements
    • related content
    • rss in query, etc.
  • continue to build parnter relationship
Installation feedback
  • no more involved than prior releases
  • Pay attention to secure ps home
  • Also, tux env settings removed from psconfig.sh
  • Finally, verity is a separate install
Usability feedback
  • Features can be personalized and turned on/off
  • Grid enhancements - ability to customize/drag and drop for journal entry with all the fields. Very nice.
  • Users liked modal lookup prompts
  • Liked new menu - recent visit was huge for them. Easier to manage than favorites
  • Also liked type-ahead
Performance Feedback
  • Felt that partial page refresh would increase productivity - Used Allocations example - hundreds of allocations, where they had to add the values in pool and other values. When modifying them, there was no refresh waiting. This made the users more productive withless waiting. Quote: "you know it's already there... start typing"
Feedback regarding added functionality that was important to them
  • related content
  • rss feeds
One last quote was "It was fun for the development team to play with new items such as related content."

Next steps - upgrading to tools in may 2010

Oxfam

Having Graham as part of the beta program was very smart from Oracle's perspective. Oxfam has has software requirements and deployment topologies that are an order of magnitude more challenging that just about any other business we've seen. When your office is a tent in the mountains of Afghanistan with a couple of machines connected to a satellite dish and a diesel generator and you can conduct business using your ERP software, you can probably get it working anywhere.

As expected, Graham was very worried about chattiness and network traffic.

In addition to saying that although there are some issues with network traffic, he's comfortable that they can and will be addressed quickly and easily by the development team, Graham really likes the collaboration features available in the portal. He also liked the org charts.

Question Session

    The session ended up with a question and answer session

    Platform requirements - does the IE6 requirement cause issues? How are you addressing them? They're going to upgrade (boise). They have to figure out because they have some products that require ie ie6, etc. Boeing may redirect folks to firefox and away from internet explorer. Havent really found issues with ie6 as testing occured.

    You (Jeff) mentioned a free portal license in your last session... what is it? Jeff's response: The best place to learn more is to obtain our document in demo grounds which explains exactly what it is. You will be able to create your own collaborative workspaces, but You cannot use it to create a portal...

    In your testing, how did integration broker work... Boise hasn't tested any yet. ASU didn't test either...

    As you worked in the beta program... how would you adjust your resource estimates for the upgrade... Tina --> pleasantly surprised that install went so smoothly. biggest hurdle was finding 64-bit servers to get started... got comfortable with it and adopting aggressive schedule. Graham... the potential danger with new features is to be too aggressive in adopting features... David... will not need to increase the staffing... But, need to be careful... enabling a grid was a click-box, but related content was easy, but a bit more.

    What are your plans for training and support... with personalization options, how support somebody who heavily customized their page when what you see is different from them. Tina --> Not going to re-up the training documentation to support just the tools upgrade. They will be upgrading the app later, so look at it them. Pretty easy "restore the default" setting, so the idea is to have the help desk be know how to restore to defaults. Graham -- regular 2 minute videos of features, etc. Licensed UPK for training as well...

    Comment from David Coveney - We like that 8.50 training is available today. However, we'd love to see a PeopleTools 8.50 delta class. Each developer writing interanal documentation in the meantime...

    How do you get your teams up to speed on 8.5. Graham -- divy up each part and have half a day each week to go over what learned. LIttle bit at a time. JEff suggested using free license to create a peopletools 8.50 collaborative workspace.

Labels: ,

OpenWorld 09 PeopleSoft 9.1 Financials Overview

Presented by Amira Morcos

This session is an overview of what's coming with Financials 9.1.

Overview

As expected, much of what was highlighted was how the Financials developers were able to utilize features of PeopleTools 8.5 to extend the products in this area. Here are the themes

  • Increase productivity
  • Accelerate business performance
  • Lower cost of ownership
These themes were discussed in terms of the following processes and goals for Financials 9.1
  • Improve period close processing
  • Maximaize cash
  • Automate compliance and controls
One thing to note is that there was that a lot of the content of this session discussed the initiatives that required effort of the financials developers. Many of the things that came for free from the tools (but didn't require much effort) was not discussed much in this session (but the PeopleTools 8.5 Customer Perspectives session discussed a few other areas that I think are also pertinent to the adoption of Financials 9.1

Period Close

The first area discussed after the overview was the improvements to the period close. Before getting into the features and functions, it's important to note first the important news regarding this functionality and the infrastructure that supports it. The Period Close is built using a feature in the Enterprise Portal called "Collaborative Workspaces". This allows content to be pulled together, discussions to be attributed, and status to be tracked for all activity for a business process. Initially, I was thinking that this would be a separately licensable product. However, this functionality will be made available as part of your GL license. In addition, instead of offering a limited use license of the Portal Infrastructure for this fucntionality, Oracle will be allowing PeopleSoft customers to create collaborative workspaces for other processes themselves. The limitation appears to be that you cannot create your own portal (versus extending an application you're already licensing which is allowed).

With that behind us, here are some of the features that are highlighted

  • Exclusion based allocations
  • Collaborative workspace
    • Configurable milestones. Action items (configurable).
    • Documents and discussions. Discussions are controlled and auditable.
    • Ping people to have real-time discussions.
  • close monitor.
  • incremental consolicdations - Save results of one node as you iterate and go up or down the consolidation tree.
  • multi-dimensional analysis - Use of Essbase to analyze across the ledger.
  • improved reconciliation with subsystems - GL to subsystem recon (currently exists). Direct reconciliation online between GL and others (inluding items not journal generated)
Automated compliance and controls

Here are the features

  • approval framework for journal processing
  • transaction level security - Control 2 chartfields from a security perspective. Chartfield security.
  • financials audit trail - ability to identify which event you want to track. For example, unpost. track status with log and online inquiry that shows activity. Includes audit archiving rules.
  • simplified project costing integraiton
  • attach supporting documentation to finaicailal transactions. Now in financials application. Search on journals that have attachments.
  • Essbase integration. GL 9.1 will include template with Essabse integration.

Summary

After the session, I had the opportunity to talk the head of Financials Development to catch up. I made sure to tell him that what they've been doing is very impressive, and that I couldn't wait to get my hands on Financials 9.1. He informally told me that things are going well on the development side... 2 builds to go!!

Labels: ,

OpenWorld 09 - Oracle Enterprise Manager with PeopleSoft

I changed sessions at the last minute yesterday and ducked into Todd Sheetz's (AKA Cheesehead DBA) session on using Oracle Enterprise Manager with PeopleSoft. Todd is with Veolia Environmental Services in Wisconsin, and is also active with the IOUG. As I walked in Todd was already deep into how to get things installed and properly configured.

One key takeaway from this for people that are wanting to get started is that you need to have Grid Control already installed and configured before doing anything with the PeopleSoft plugin. Makes sense.

Todd also went through some of the security configuration and potential challenges. Due to the nature of Enterprise Manager actually, you know, managing things, it needs to have a fair amount of access (it needs access to PSHOME, Another part of the configuration is running a discovery defining
the Grid Control Management Agent, etc.). Nothing out of the ordinary, but depending how your organization is structured, you may need to coordinate this with a few different people).

One other good tip that Todd had for setup was to figure out the GUIDs for your environments up front. Todd had a pointer to David Kurtz's blog for the details on how PeopleSoft generates a globally unique identifier (GUID) for each instance. However, if you allow a GUID to be regenerated for an environment when cloning instances (which is a common practice), then the PeopleSoft plugin for Enterprise Manager does not recognize that the GUID has been changed. By generating your GUIDs upfront and keeping track of them, you can restore the proper GUID when you (for example) refresh a test database from production.

Once the plugin has been installed and is up and running on the different hosts that are running PeopleSoft, then you go online and have it discover what PeopleSoft environments that you have up and running. There was some discussion here about possible issues when you have multiple PeopleSoft environments installed on a single host, but using different accounts for them (e.g. a locked down production or production support environment along with other dev/test environments). Todd recommended running the discovery process once for each PeopleSoft environment to help alleviate this issue.

You can define a single PeopleSoft "system" to include all web servers, app servers, process schedulers, and database, but Todd mentioned that he likes to define the database separately so that when you do things like blackout the system he can manage the database blackouts separate from the appserver blackouts. We ended up having some group discussion at the podium afterwards about managing blackouts - one takeaway for me is to investigate integrating the work that we (Grey Sparling) have already done in this area for PeopleSoft with the Enterprise Manager PeopleSoft plugin.

Todd also did some live demos of their production instance of Enterprise Manager. Everything was green (which was good, else Todd might have had to demo how to fix a problem in front of everyone :-). He showed some of the different graphs and charts available, as well as how to define your own.

Labels: , ,