Thursday, May 3, 2018

Staying within the Activity Guide/Nav Collection Target Content Area | AJAXTransfer Parameter

I recently ran into an issue with transfer functions executing from within a Nav Collection (which uses Activity Guide framework). These transfer functions result in the loss of the Navigation panel (Side Page) which is basically exiting from the Nav Collection.

Demo of the problem


Navigation Collection Definition for reference


Tile Wizard for reference


Solution

The solution to this problem is to use the AJAXTransfer=y parameter in the Content Reference corresponding to the Navigation Collection Tile. The following PeopleBook reference is a must read for anyone who is working on Fluid configurations like Activity Guides, Nav Collections, Master Detail pages, etc.

Working with Two Panel Implementations

To fix the issue, I added &AJAXTransfer=y to the Tile Content Reference - Portal URL as follows:


Result


40 comments:

  1. Yes. Very much needed, especially in Transfer heavy ELM!

    ReplyDelete
    Replies
    1. Agree. Same with Campus Solutions! :)

      Delete
    2. Is there a solution when using an anchor tag from an html area or from using ViewURL (which you can then add your own querystring parameters to) instead of just the transfer function?

      Delete
    3. @Joe - Are you referring to the links in the page within a Nav Collection? To be able to add the parameter at the individual link level instead of doing it at the Nav Collection level?

      Delete
    4. Sorry, I'm not sure how I didn't see that you had responded to me. I think what I was referring to was to be able to have an HTML Area on a page and use an anchor tag that would keep you within the framework of the Nav Collection. I'm not sure how/why it wasn't working as the code that I currently have is doing it completely differently. If I come across the example again, I'll post again.

      Delete
  2. Hi, I am facing an issue. I have a similar navigation collection. On the corresponding component of 3rd link I use a transfer function. The redirection works fine (THanks to your post). I have a return link on click on which I want it back to 3rd link. But it redirects to the 1st link.

    Can you please help?

    ReplyDelete
    Replies
    1. Hi Eileen - This is also a common issue with Nav Collections and redirects in NUI.

      You can modify the code in your 'return link' to include the &ptgpid=CREF_NAME of Nav Collection link.

      You can find this under Structure & Content > Portal Objects > Nav Collection > Click on your Nav Collection Name > Edit your Nav Collection URL to find the associated CREF_NAME.

      Let us know if you run into any issues!

      Delete
    2. Here is a thread on MOS:
      https://community.oracle.com/message/14352064#14352064

      Delete
  3. Hi Sasank,
    I have a navigation collection I want to add to one of the Navigator Menu Paths. How do I do that? Lets say there is a Time Navigation Collection in HCM for Employee Self Service. I want to add that Time Navigation Collection to Self Service > Time Reporting.
    Is it possible to do that? Our users wants this as a Homepage tile and also on the Navigation menu path.

    ReplyDelete
    Replies
    1. Yes. We simply need to find the CREF corresponding to the tile and create a link to it.

      PeopleTools > Portal > Structure and Content
      Root > Fluid Structure and Content > Fluid Pages > Employee Self Service (or appropriate folder) > Find the CREF corresponding to the Tile and click on "Create Link" > Provide a name/label to the CREF Link and Save.
      Then, edit the CREF link and update the Parent Folder ("Select New Parent Folder") to the desired folder (Self Service > Time Reporting, for example) in the Navigator.

      Delete
    2. Thank you Sasank. One more issue I am facing is adding a fluid page with left tabs in the navigation collection together with other fluid and classic page. There is a delivered Employee Self Service tile for payroll navigation collection. I need to add Total Rewards fluid page in that collection. When I did that and clicked on the Total Rewards page, it takes you away from the navigation collection and you can not go back to that collection. Is there a solution to fix this kind of circumstances?

      Delete
    3. You may want to check out this PeopleBook:
      https://docs.oracle.com/cd/E91187_01/pt855pbr2/eng/pt/tflu/task_WorkingWithTwo-PanelImplementations.html

      The 'Left Panel Collision Handling with Slide-out Left Panels' section might assist with your situation.

      Delete
  4. Hi Sasank,
    Is there a way to hide classic page from the navigation bar providing the access to same classic page on a navigation collection? Lets say Paycheck Modeler is a classic page which is also in the Payroll navigation collection. Our user wants employees to access the Paycheck modeler from Payroll tile and hide it from the navigation bar. Is that even possible?

    ReplyDelete
    Replies
    1. Yes. This should be possible.

      You can simply hide the Content Reference from Navigation using the 'Hide from portal navigation'.
      As shown here: https://snag.gy/0cil5k.jpg

      The only gotcha is that, if you want to add this page to a new Nav Collection, then you will need to temporarily unhide it from portal navigation, add it to your nav collection and then subsequently hide it again. Hope this makes sense.

      Delete
    2. Thank You Sasank for the response. I have tried that before but if you hide the content reference it gets hidden from navigation collection as well.

      Delete
    3. Interesting. I did not expect that.

      Do you see the same behavior if you hide the parent folder instead of the CREF? I am not sure if it will work but worth a try.

      Delete
    4. Hiding the parent folder doesn't hide the actual CREF from the navigation collection. This will work if I have to hide all the CREFs from the parent folder but I need to hide selected CREFs and rest still needs to be visible.

      Delete
    5. So, you could try the following:

      1. Hide the main PayCheck Modeller CREF. So, this satisfies your 'Hiding from Navigator' requirement.
      2. Create a new folder.
      3. Add a new CREF and point it to the PayCheck Modeller. This will be a clone of the delivered CREF. You will receive an error when you save because it is the same CREF. You can add a custom parameter to the URL to make it unique.
      4. Use this in your Nav Collection.
      5. Hide the folder created in 2.

      I know it is an elaborate solution but that is the only way I can think of right now.

      Delete
  5. Hi,

    Can I please know how should we code to transfer back to tile (Navigation collection) on submission of any transaction through activity guide? Transfer function seems to be not working correctly..

    ReplyDelete
    Replies
    1. Not sure. Can you replicate this problem with any delivered activity guides?

      Delete
  6. Thanks for the informative post Sasank. Saved me a lot of time.

    ReplyDelete
  7. Hi Sasank,

    Within our Activity Guide, we're trying to move from step 8 back to step 6 (programmatically by PeopleCode).

    I'm setting step 8 and 7 to status not started, and am trying to move the user to step 6.

    I can get them to step 6 but the Navigation Collection has gone.

    I've got &AJAXTRANSFER=Y in the URL for my Navigation Collection, but that doesn't appear to be enough.

    How would I use PeopleCode to transfer from one step to another without losing the navigation collection

    Thanks for all of this,
    Ian.

    ReplyDelete
    Replies
    1. Hi Ian,

      You could try the &ptgpid parameter which denotes the step in the activity guide.

      Someone asked a similar question here:
      https://pe0ples0ft.blogspot.com/2018/05/nav-collection-AJAXTransfer-parameter.html#c6658087284769515256

      Delete
  8. Hi again,

    I think it's the transfer mechanism that we're trying to use that's the issue. We've tried
    transfer and GenerateComponentContentURL

    Ian.

    ReplyDelete
    Replies
    1. Sorry, that should have been ViewContentURLFluid rather than GenerateComponentContentURL

      Ian.

      Delete
  9. Hi Sasank,
    Within the navigation collection, we are trying o navigate to a different component/page using ViewContentURLFluid. We are loosing Lefthandside navigation collection, how can I transfer to the page without loosing the navigation collection. I tried to append &AJAXTransfer=Y to the URL, but no luck. Also tried viewURL and %redirectURL, this is displaying the frame in the target Area. Any suggestions?

    ReplyDelete
    Replies
    1. The &AJAXTranfer=Y parameter should be on the Nav Collection URL (which will be the CREF of the Tile) not the URL you are trying to redirect to using ViewContentURLFluid.

      Have you tried the parameter in that fashion?

      Delete
  10. Hi Sashank,

    What is the difference between Navigation Collection and Activity Guide? Do you have any post to setup step by step for setting up activity guide.

    I am planning to build an activity guide for payment processing, that consist of peoplesoft and non peoplesoft components and many manual steps in between.


    Thanks
    Kvrao

    ReplyDelete
    Replies
    1. I don't have step by step guides for you on activity guides. Best place to start would be PeopleBooks.

      Also, there should be several other blogposts, videos on youtube, etc. that are freely available.

      Example: https://cy2.nl/wp-content/uploads/2018-Conference-EMEA-Deepdive-Activity-Guides.pdf

      Delete
  11. Hi Sasank,

    Thanks for the blog. This is really helpful.

    I have requirement as below
    There are 4 components in one Navigation collection. On click of submit button in 1st component it should transfer to 2nd component. The selected component (which is now 2nd CMP) colour should changes to a green color in the left panel.

    I am getting below issue in this:
    Using the Ajax transfer and it is doing the transfer in current window (Thanks to your blog) but the it keep showing the PROCESSING.

    And green color in the left panel is still pointing to 1st component (from where submit was done).
    I am not able to change the Green colour to 2nd Component after transfer.

    Request you to please guide.

    Many Thanks

    ReplyDelete
    Replies
    1. You may want to review this:
      https://community.oracle.com/message/14352064#14352064

      You could try using the following parameter:
      &ptgpid=CREF_NAME of Nav Collection link

      See comments above:
      https://pe0ples0ft.blogspot.com/2018/05/nav-collection-AJAXTransfer-parameter.html#c6658087284769515256

      Delete
    2. Thanks for reply !!

      I am not able to access the link https://community.oracle.com/message/14352064#1435206

      Here I do not have return button in 2nd component.
      All 4 components can accesses directly from the navigation collection.
      And this add on functionality where on submission user will be transfered to 2nd component to check data in read only form.

      the issue is the green colour that appear when the component is selected in left Nav Panel is not happening.

      If I will try to explain using from the DEMO you have provided above.

      There are 3 components as
      1> User Profile
      2> Copy User Profile
      3> Delete User Profile

      When user is in User Profile CMP(Left Panel shows it in Green Colour) and suppose there is a custom button as 'Copy User Profile' in this (i.e. in User Profile component) by click of which user will be transfered to Copy User Profile component. Then 2 action should take place:
      1 - User is transfered to Copy User Profile CMP - This is achieved by AJAX .
      2 - Copy User Profile CMP should be shown as GREEN colour in Left Nav Panel. - This is not happening. The Green Colour is still indicated in User Profile CMP (i.e. first CMP in Nav Panel not in Copy User Profile CMP)

      Sorry for long details.


      Many Thanks !!

      Delete
  12. Hi Sasank,

    Thanks for the blog. This is really helpful.

    I have requirement as below
    There are 4 components in one Navigation collection. On click of submit button in 1st component it should transfer to 2nd component. The selected component (which is now 2nd CMP) colour should changes to a green color in the left panel.

    I am getting below issue in this:
    Using the Ajax transfer and it is doing the transfer in current window (Thanks to your blog) but the it keep showing the PROCESSING.

    And green color in the left panel is still pointing to 1st component (from where submit was done).
    I am not able to change the Green colour to 2nd Component after transfer.

    Request you to please guide.

    Many Thanks

    ReplyDelete
  13. hi, i need help on below requirement
    I am trying to access a page of a HRMS through interaction hub using navigation collection and tile.

    if I login in CFR in interaction hub and access the HRMS link, the page is shown in CFR as expected.I want to show the page in English even if the user logged in CFR.

    is it possible?

    ReplyDelete
    Replies
    1. Hi Ruby - Have you tried passing the parameter languageCd=CFR to the HRMS link to force the language to CFR?

      Also, which version of PeopleTools are you on?

      Delete
  14. Is it possible for the tile to open the navigation collection to a specific component within the collection? Say you wanted to open up to the 2nd or 3rd component in your navigation collection and not the first. How would you accomplish this if possible?

    ReplyDelete
    Replies
    1. Hi Marty - Yes. This is possible by passing the ptgpid parameter value.

      Please review this post by Jim Marion:
      http://blog.jsmpros.com/2019/05/launching-into-middle-of-fluid.html

      Delete
  15. Hi Sasank - I want to include a Fluid page into Classic Activity guide. Is it possible?

    ReplyDelete
    Replies
    1. Hi Alex - Good question. I have not tried that so I don't know if it will work or not.

      Delete