Thursday, 1 June 2017

5 Things about Page Composer Developer Registration (Part 1)

Page Composer is currently used by Fluid Approvals for rendering AWE Workflow transactions in Fluid.  Using Page Composer you can change the Fluid Approval pages - adding or removing fields, change field layout and style for any device form factor.  What makes Page Composer so powerful is the underlying data structures defined in "Developer Registration"- found in Enterprise Components > Page Composer > Developer Registration.

1) There are 3 "moving parts" to Fluid Approvals

a) AWE Process Definition - This is not new and has always existed since AWE first appeared.  This means if you have an AWE definition and you want to surface your approval transaction in Fluid then you're already part way there.
b) Developer Registration - (Enterprise Components > Page Composer Administration)- This is a developer tool used to define compositions.  A composition describes what transaction data/fields to make available to your Page Composer when you come to define (or compose) your Fluid Approval page.
c) Page Composer - (Enterprise Components > Page Composer) - This a developer/functional tool used to build a Fluid Approval page using fields defined in the Composition.

2) Page Composer is used to define a Fluid page for Approvals. This is known as a Composition.  All Fluid Approval pages use the same component and page definitions - namely COMPONENT.EOAWMA_MAIN_FL along with it's main pages PAGE.EOAWMA_MAIN_FL, PAGE.EOAWMA_TXNHDTL_FL and PAGE.EOAWMA_TXNLDTL_FL.  I strongly advise not to meddle with these definitions as they are very complex, tightly bound to existing Compositions and also liable to change through PUM Updates as new features are added and the inevitable defects are fixed. Think of this component as a template used in a mail merge.  The template has a fixed set of "sections" in which there are a fixed set of "field placeholders" of various types which are available if you need them.
The template COMPONENT.EOAWMA_MAIN_FL has 3 main pages
  • Main (Summary). This is what you see when you click the Approval tile .  Approval transactions, shown on the right, are actually rendered using a sub-page PAGE.EOAWMA_RSLT_SBF (main page is PAGE.EOAWMA_MAIN_FL).
  • Header Detail. This is the page you see if you click one of the approval transactions. (PAGE.EOAWMA_TXNHDTL_FL)

To keep this blog post digestible I'm just going to describe some characteristics of the Main Summary page.  Lookout for a blog post on the "wonders" of the Header Detail page in the very near future.
  • The EOAWMA_RSLT_SBF has 2 sections that are available (technically there are 3 but the third is a special case used for handling the Mas Approval function).
  • If the Section bound to a HTML field on the Page (see Page Registration Section Definitions below) then Page Composer allows you to drag and drop fields into the section.  You can also define the number of columns that will displayed which can help with field and field label alignment.
3) The Developer Registration tool is used to create a Registration that is based on this template.   Each Registration is bound to an AWE Process Definition. In fact the Registration name must be the same as the AWE Process Definition.  The Registration is also associated with a Component (think of this as the template) Actually, there's only Approvals available at the moment so you have to specify COMPONENT.EOAWMA_MAIN_FL here.  PeopleSoft Enterprise Components team have other Registration Types available here (namely Email HTML Page, Email Rich Text Email and Stand-Alone HTML Area) but to-date only one example of a Component Type , Approvals, has been delivered.

4) Each defined Registration has a set of Sections for each form factor (X-Large, Medium, Small, etc).  Each row in the Registration is a Section for a particular Form Factor.  Each Section has the following attributes:
  • one or more Application Source Records.  These records provide the transaction data that will become available to the Page Composer tool when building an Approval page.
    Application Source Records
  • Page Reserved Field.  This is the method used to reference specific HTML, Link and Button fields on the physical page.  Each Section is bound to one and only one field (referenced by Object Name) on the page.  Finding the correct Page Reserved Field can be a bit tricky. There's a little bit of trial and error and copying other delivered Registrations required but suffice to say that if you try and define a Section on a Page and use the wrong Page Reserved Field the Registration component will throw an error at save time.  
    Page Reserved Field binds Section to Physical Page
  • Composition Key Fields.  These are used to bind your section to the underlying AWE Xref Record.  
    Composition Key Fields

CLICK TO VIEW - Relationships between Page Composer, Registration and Approval Summary

5) How to add a field to the Approval Main (Summary) Page using Page Composer
I'm going to tackle some more involved use cases in future blogs such as adding new fields into Registrations, adding hyperlinks into Header Detail sections and adding custom business logic (PeopleCode) to events in the Approval Pages.

However, for now I'll just walk through a simple Page Composer change to add a new field to the summary row of the AddressChange Composition.

1) Open Page Composer (Enterprise Components > Page Composer)
2) Enter Definition = Approvals and Search
3) Select AddressChange Composition
4) Under the Pages TAB select Approval Summary to show the Main Summary sections (this should be the default view).
5) Under the ToolBox TAB select Fluid Approval View (AAV) Record to show all available fields.  AAV is just an alias for the Record specified when you create the Registration.
6) Find the AAV:Empl Id field and drag and drop the field from the left pane to the Address Change Approval Summary Section.
7) Save the Composition
8) Open the Approvals tile to view the resulting change.
9) The video below demonstrates this and adds a 2 column option for controlling layout.


Manju said...

Hi Graham,
The post was really helpful. I am facing a rather unique issue. When I click the approval tile it takes me to the worklist where I can see all pending transactions, but when I click on them the next page displayed has only the approver comments and approval chain. There is no content on the page. Am I missing any configuration or do I need to use the page composer for the fields to show up on the approval page. As you mentioned the approval page is made of three pages the MAIN, HDR & DTL. How do I get the relevant fields on my approval page?

Unknown said...

Hi Graham,

I need your guidance on something. My Organization wants to use Page Composer but in a diferent way.

In the Page Composer, we have 3 structures, Like you land up firstly on Summary Page, After Clicking on Summary Page , you land up at Header and from there to Line.
Also You can only Approve the Transaction at the Header level (Only).

But In my organization, they want the Approval button to show up on the Summary Page itself . They say that User should have the ability to approve the transaction without going into Header page. So they want Approve and Deny Button on the summary page.

Is it possible? As I saw These buttons are static on Header page and cant be just moved to Summary page.

Is it good to play around with moving of these buttons?

Also they want the Header information to show below summary page by clicking on 'Expand' Image. Not sure if that is possible too?

In Short, they are trying to change the structure of Page Composer.

Unknown said...

Hi Graham,

We had developed fluid approvals for Training requests a while back when the Fluid Approvals were not available. Now that the Fluid Approvals are available, we need to use the delivered ones for the Training Requests and phase out our Custom one.

I registered my custom process id for Training under the "Mobile Approval Options" and now am able to see the request under the delivered fluid "Approval" tile.

The only problem is the look and feel of the delivered one. We want it to look like our custom one that we developed (or as close as possible).

To do this, I thought of using Page Composer. The problem here is, that the Composition for my custom approval fluid page does not exist and thus does not show up in the search compositions in page composer.

So, i tried to register my custom AWE with Page Composer by selecting "Add Approval Type" under the Page Composer Administrator - Developer Registration page.

When i try to enter all the details, no matter what Page Reserved Field that I pick, it keeps throwing an error saying that the field does not exist on my page.

I am at a complete loss here and don't know what to do, or what i may be doing wrong.

Any suggestions would be greatly appreciated!

Thanks & regards,

Graham said...

@Manju. Sorry for the delay in replying. Before you can used Page Composer to put fields on your approval page you need to use the registration component to define one or more source records for your approval type.

Graham said...

>>Is it possible? As I saw These buttons are static on Header page and cant be just moved to Summary page.
I'm not aware that this is possible through configuration. You should submit this as an enhancement request. I like the idea.

>>Is it good to play around with moving of these buttons?
Not really. It might be possible to hack this through App Designer this should be a last resort as these pages are very complex and subject to frequent change as the EO team enhance and improve Approvals.

You could try writing some event mapping code which would modify the summary page HTML to "fabricate" the approve deny buttons for certain approval types. That might be a fun little project. Let me know how you get on .

Graham said...

@Aniket: You should check the underlying Page Composer and Registration meta data to make sure you don't have some rogue values defined which no longer have a page reference. I've not see this problem before so this is my best guess. Good luck with solving it.

Unknown said...

Hi Graham,

Sure I Will let you know . As of now, we are still deciding whether to have our own set of Approval Fluid Framework or to use Page Composer.

I prefer page composer but my Manager is not liking the fixed structure of the Header part (Approval and Deny Button on this page and any user on Mobile has to go to this page to Approve). They wanted a structure wherein a user can approve the transaction from Summary page only and don't have to go in to header to approve

Graham said...

@sumit: In FSCM image 025 (and I expect to see in HCM 025 soon) there is a new feature which allows you to multi select items from the initial summary page with action buttons. I know it's not exactly what you're after but it's worth a look.
See image link below.


Unknown said...

Hi Graham,

Ah that is good, So basically in FSCM 25, we can Multi Select Items and Approve in 1 shot in summary page only , instead of going into Header Page for each. Is it?

map walk said...

Hi Graham,

Your post is very helpful. Do you know how to remove a field from layout panel in page composer? And how re-order those fields? The drag/drop did not work in my environment.

Graham said...

@map walk: You should be able to drag and drop the field in page composer to the BIN icon on the right of the page. Changing the order of fields should as simple as drag and drop. if this is not working for you I would check that your browser is on a supported version.
Kind regards

Tej said...

Hi Graham

Thanks for the interesting post. I would like to know how were you able to remove the Thread Description or the Summary Description from the approval summary page i.e. EOAW_RSLT_SBF. For me thread description is in between EOPCOBJ_L2ROW and EOPCOBJ_L2ROW_A page fields but for you its not the case.

thanks in advance

Unknown said...

Hi Graham,
how to implement Reassign option in page composer??In Mobile Approval options page reassign action is not available. Is it a limitation of page composer??

Thanks and Regards

Unknown said...

Hi Graham,

Do you know how I can modify the middle section(fields) of the Summary? It's home address in your example. I see fields listed in Developer Registration, but I don't actually see where those are configured in Page Composer. Unless I'm totally blind, which may be the case!

Nice work and thank you. Darryl

Unknown said...

Hi Raghavendra,

An approval can be reassigned only by the form administrator. In the approval process setup, you might've setup an administrator role to whom an error step would be redirected to...

This role is the form administrator. You can configure monitor approvals for the process ID EOFM in the "Approval Monitor Configuration" page.

Post which you would be able to access the fluid page for "Administer Approvals" which can be accessed by going to the delivered approval tile...then click on the sandwich icon on the top right corner and select "Administer Approvals'.

Key in the process is as EOFM and you will be able to carry out actions according to the way u have set it up on the monitor configuration component.

Please let me know if you need more information. I would try my best to answer from based on what I know.

Aniket Sen

Govind Gopal (GGRajan) said...

Very good information. I have a question.

How do we migrate the Developer registration (configuration) from one environment to another?


sayeed said...

Hi Graham,

We have configured fluid approvals, but Approve and deny button are not visible.

We have checked it Mobile Approval Option.

Please let me know if you any lead regarding this issue.

Thank You

Venkata said...

Hi Graham,

I don't see the answer for Darry's question below.
"Do you know how I can modify the middle section(fields) of the Summary? It's home address in your example. I see fields listed in Developer Registration, but I don't actually see where those are configured in Page Composer."

Could you please let me know how is the middle column and last column are populated on Approval summary page.

Nice work and thank you.

Jones Morris said...

You have a good point here!I totally agree with what you have said!!Thanks for sharing your views...hope more people will read this article!!! json formatter