cancel
Showing results for 
Search instead for 
Did you mean: 

Navigation context lost when using Short URLs and custom TLN

Former Member
0 Kudos

Hi,

we have developed a new TLN navigation using the Tag libraries,l to fit our client needs.

The problem we are having is that if we use the "Portal Favourites" standard iview, the TLN loses navigation context.

I have been investigating this issue and found the reason:

- The TLN works fine when using "long urls" such as:

NavigationTarget=ROLES://portal_content/com.profertil.pronet2010.pronet2010/roles/areas/equ....

- It loses context when using short urls like:

NavigationContext=navurl://98c746411fa728a84a0cdb841c2fdeaf&windowId=WID1271245673243

The problem we are facing is that the portal favourites iview generates short urls.

Any hint?

Best Regards,

Marco.

Accepted Solutions (1)

Accepted Solutions (1)

hofmann
Active Contributor
0 Kudos

Hi,

the parameter windowId=WID1271245673243 is used for EPCM navigation inside the ContentArea (integrated via iFrame). If you place this type of link in the browser's adress bar, the navigation context will get lost.

To navigate with Short URL, use: NavigationTarget=navurl://efc4afadfe4ecca723412

NavigationTarget will preserve the context.

br,

Tobias

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi,

after opening an OSS note they gave me to solutinos:

1 - Mark the inner page in the framework as "Isolation method : embedded"

2 - In the source code of the top level navigation you must suscribe to the event "Navigation" using the EPCF libraries.

Best regards,

Marco.

Former Member
0 Kudos

Hi,

thanks for your help!

but,

if only the InnerPage can hear that event, why if I use the two TLN at the same time ( the standar framework page TLN, and my own developed TLN) and I click in the favourites links, the "standard SAP" tln gets refreshed, but my custom developed doesn't?

Why that happens??

BR

Marco.

hofmann
Active Contributor
0 Kudos

Hi,

the TLN won't refresh because only the inner page gets a Javascript event to reload when you click the favorites link. You'll have to create your own Favorites PAR that reads the value of the favlink of the user, get the navurl value and send a browser refresh pointing to the navurl target.

So that the browser's adress bar looks like:

http://portal/irj/portal?NavigationTarget=navurl://e9b9492e56e37d17adfdsf54453923412s

br,

Tobias

Former Member
0 Kudos

Hi Tobias,

What I mean is this:

- When I select a node in the TLN (clicking it with the mouse) : it works fine (it bolds the font of the selected node.. and so on)

- When I click In some links that are inside iviews in the content area, and these links are Long URL links the TLN works fine.

But

- When I click in one of the Favourites iview links, the TLN doesn't get refreshed (it loses navigation context)

And the malfunction of the TLN when using the Favourites iview is due to the use of Short (Hashed) URLs.

In conclusion: the TLN works perfect, except when using Short (hashed) URLs.

I don't understand this behaviour..

Best regards,

Marco.

Former Member
0 Kudos

Hi Tobias,

yes, the code uses the tags you mentioned, and in fact, the selected node font is shown as bold and the color of the selected tabs is different.

The point is that if I created an iview with a link like this:

NavigationTarget=ROLES://portal_content/com.profertil.pronet2010.pronet2010/roles/areas/equ....

And the TLN works fine , it doesn't lose the navigation context,

the error happens only with short URLs...

But I can't avoid short urls because they are used by the standard portal favourites iviews...

hofmann
Active Contributor
0 Kudos

Hi,

"the selected node font is shown as bold and the color of the selected tabs is different."

After clicking the Fav-link, the TLN reflects the change, the content is loaded ... what do you mean by navigation context get's lost?

br,

Tobias

Former Member
0 Kudos

Hi Tobias,

What you described is exactly what is happening.

Yes, I have implemented the TLN using the navigation taglib.

Regards,

Marco.

hofmann
Active Contributor
0 Kudos

Hi Marco,

so you have something like this in your code:

<nav:iterateInitialNavNodes>

<nav:ifNavNodeHasChildren>

<nav:iterateNavNodeChildren>

<nav:ifNavNodeInSelectedPath>

You use the <nav:ifNavNodeInSelectedPath> to differentiate between a navigation node and the active navigation node / the node in the users navigation? And some CSS to highlight this navigation node?

br,

Tobias

Former Member
0 Kudos

Hi Tobias,

thanks for your quick answer,

but I'm not placing the url in the explorer address bar, I'm just clicking the links that are inside the standard "Favourites' iview,

inside the content Area, the detailed navigation gets updated, but the TLN doesn't.

Regards,

Marco.

hofmann
Active Contributor
0 Kudos

Hi Marco,

when a user clicks on the favorites link, the content area loads the content, but your custom TLN isn't refreshed.

TLN: [A1] A2 A3

User is in A1, clicks a link in the favorites for A3.

Instead of A1 A2 [A3] the TLN still displays [A1] A2 A3

right?

How did you implement your TLN? Navigation taglibs?

br,

Tobias