cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic start page

Former Member
0 Kudos

Hi all,

is it possible to assign a start page dynamically to a user as he logs in NW04?

The background of my question is the following: I have a group of users who basically all use the same content in the portal, execpt for the start page and another information page that depends on which attribute is assigned to their user data.

Currently there are different user groups implemented in order to solve this problem. As the portal is supposed to be migrated we are thinking of using only ONE group for these users and somehow dynamically assign the start page and the info page to the user depending on its user data.

Is there a way of doing that without having to leave the standard functionality of the portal?

Thank you in advance for any input on this!

Best regards,

Helga

Accepted Solutions (1)

Accepted Solutions (1)

detlev_beutner
Active Contributor
0 Kudos

Hi Helga,

I'm a bit unsure about your request, do I understand you right that you want the first (initial) NavigationTarget being set dynamically, so that all users have the same role / pcd navigation structure, only that one or two pages (in fact one of them the first page shown after logging in) are somewhat dynamically?

If this is the case, you could reach your aim by different means. On the one hand, you could use merging, so that you have some (almost the whole) content in common, but some special content for role A and role B. If I understand you right, this is somehow what you have at the moment (by different groups, probably assigned to different roles), but you don't want this in the future.

The next possibility would be to have the different pages implemented as hidden pages and to call a self developed component which reads the user data and decides to which (hidden) page it forwards the request. By this, you would have the same role content / pcd structure for all users but you could dynamically decide which special page to offer for a certain set of pages.

Hope it helps

Detlev

Former Member
0 Kudos

Hi Detlev,

thank you for your quick answer!

The second suggestion sounds much like what I have been expecting to read. This means that there will certainly be additional development envolved.

I assume that the same holds true for the second page which is not the start page but is called from the fist level navigation bar available for the whole group but different for each user ( I am wondering how this should be implemented. Is there something like an user exit for an onMouseClick Event on the fist level navigation bar?).

Is this assumption right?

Thanks in advance for your help!

Helga

detlev_beutner
Active Contributor
0 Kudos

Hi Helga,

> I assume that the same holds true for the second page

> which is not the start page but is called

> from the fist level navigation bar

Right. It doesn't matter if it's the initial page or not.

> how this should be implemented. Is there something

> like an user exit for an onMouseClick Event on the

> fist level navigation bar

OK, down into the details:

1.) Theoretically, you could add some JS / Java stuff into the TLN to dynamially decide which page should be called. But I don't expect that this makes too much sense on the client side. In addition, changing the TLN should be avoided if not necessary (for reasons of problems when patching etc).

2.) As I did suggest, you could create the pages within the PCD as hidden page (let's say PageForUserKindA and PageForUserKindB). Then you create an iView (own development) called DynamicDispatcher, not hidden. Clicking on DynamicDispatcher calls your component, which decides whether to choose A or B and, for example (to keep it simple) writes a short JS back to the client with nothing else in it but a EPCF.doNavigate with the chosen hidden page as NavigationTarget.

3.) Redirecting to a (hidden) PCD page also should work on server side, but I've never done, so a cannot give you implementing details.

4.) If it's not a page with different iViews you are calling but in fact just one iView, you could also just redirect the call of your component to the component you whish (this would be very easy on server side, request.redirect(redirectURI)).

Hope it helps

Detlev

PS: Please consider rewarding points for helpful answers on SDN. Thanks in advance!

Answers (0)