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.
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.
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: 2010, Upgrade, VersionControl