Yes you have read it right. With
the release of People Tools 8.55, you could customize (append would be more
appropriate term) the delivered application without having to touch (or
customize) the Oracle delivered people code.
Customizing the delivered code
was always a pain point when the application maintenance team is considering an
upgrade or applying any patch provided by Oracle. The maintenance team always
have to look at the code conflicts, apply patches/upgrade, re-customize the
application, re-do the custom and delivered test cases and so on. Just a single
line of custom code in the delivered application may force you to take through
all these steps.
With People Tools 8.55, The
Related Content Configuration setting is expanded to add a new tab labeled “Event
Mapping” where in you could actually map your custom written people code to a
delivered people code event. All this is done through PIA and the major point
to highlight here is that this is not considered as a customization and the
delivered code will execute as it is in addition to your custom code. This
directly means you can now apply patches and upgrades with much simpler
process.
Although it now allows you to map
your people code before/after the execution of a delivered people code event,
this won’t allow you to change/modify the actual delivered code. If you really
have to do that, then you can append your people code which first reverses the
delivered logic and then implements your logic. Another limitation to note here
is that right now only select few events are available for extension. Having
stated that, with the current capabilities alone, you will be able to remove
customization of a major part of your customizations.
Let me move on to the technical
implementation of the Event mapping. As the name suggests you will be mapping
your people code to a delivered event. And how that is done is via a Related
Content Definition of type Application Class. The step by step process of how
this can be done is listed as below.
Step 1: Create an application class which implements the delivered
app class PT_RCF:ServiceInterface
Step 2: Create a method name execute()
and write your custom logic inside that method.
import PT_RCF:*;
class Hello_World extends
PT_RCF:ServiceInterface
method execute();
end-class;
method execute
/+
Extends/implements PT_RCF:ServiceInterface.execute +/
WinMessage(“Hello World”,0);
end-method;
Step 3: Create a Related Content Definition with Type Application
Class and select the application class you have created now.
Main Menu > People Tools > Portal > Related Content Service
> Define Related Content Service
Step 4: Go to Manage Related Content Service page and select the
last Tab “Event Mapping”
Main Menu > People Tools > Portal > Related Content Service
> Manage Related Content Service
Select the component to which
your code need to be mapped by clicking on the hyperlink “Map the event of the Application pages” and select your component
from the Tree Structure.
Step 5: Now you will see two grids on the Event Mapping page. The
top grid will corresponds to Component Level people code events and the bottom
grid corresponds to Component Record Level people code events.
For this example let me
configure/add custom code to the Post Build event of the component. So I select
the event “PostBuild” on the top grid and select the service ”HELLO” created in
the previous steps. Now we have two options for the processing sequence which
determines whether your code needs to be executed prior to the delivered code
or after the delivered code. I am
selecting “Post Process” which means my custom code will be executed after the
delivered people code on that event.
Step 6: Test your application. Open the component and see your
Hello World message popping up.
Customizing the delivered
application code has become a less effort task now. This new feature allows you
to add your own organization specific code while enjoying the benefits of the
fixes and enhancements derived by the Oracle. This is completely a
non-destructive approach and I believe this will add a lot of value to your
organization as well.