Thank you for your reply, please see comments in-line.

> Make sure the following two properties are set in 
> JetspeedResources.properties:services.Profiler.rolefallback=true
> services.Profiler.newuser.template=
 
Both of the above are set.

> If user_xyz has a psml page defined, you may try deleting it.  I 
> think the way the profiler works, it will pick up user-based psml 
> FIRST, and then look for role-based psml if no user psml exists.

If in JetspeedResource.properties automatic.logout.save = true,
when this new user logs out, new psml is created for the user
and saved on file system. This psml is cloned from role_abc with
all new unique portlet IDs generated by Jetspeed.
I delete the user psml file in psml browser in this case.

These are the steps and observed results of new user creation: 
Pre-condition: role_abc exists with role specific psml in place.
in JetspeedResource.properties automatic.logout.save = false.

In admin interface create new user. Keep it as disabled at the 
time of creation.

>From user browser edit user roles.  By default, Jetspeed asigns role user,
editor opens with this role selected.  Uncheck default role user, 
check role role_abc, save.

Check psml browser, there is no psml entry for new user.

Open new browser instance, login as new user. Page displayed
after user login represents correct layout for role_abc, BUT it appears 
that Jetspeed cloned psml layout defined for ROLE role_abc
as USER layout, because all URLs on the page represent 
references to portlets with new unique portlet IDs that 
represent user URLS like:
Menu Item URL:
http://localhost:8080/abc/portal/media-type/html/user/user_xyz/page/default.psml/js_pane/P-f8ad89196e-10006
 

If at this point I put in browser URL:
http://localhost:8080/abc/portal/media-type/html/role/role_abc 

and refresh browser, the desired psml for ROLE role_abc is used 
to render the page and all URLs use pane and portlet IDs defined
in role_abc psml file.

I would like this behavior of loading role based psml layout to 
occur for the first page rendered for logged in user.  

Is it possible to do it?

Any suggestions/recommendations are welcome.

Thank you, 
Alex Kadyshevich



----- Original Message -----
From: Stuart Belden 
Date: Friday, November 7, 2003 7:39 am
Subject: Re: Please help with role based PSML usage

> Make sure the following two properties are set in 
> JetspeedResources.properties:services.Profiler.rolefallback=true
> services.Profiler.newuser.template=
> 
> If user_xyz has a psml page defined, you may try deleteing it.  I 
> think the way the profiler works, it will pick up user-based psml 
> FIRST, and then look for role-based psml if no user psml exists.
> 
> Your initial form submit action doesn't get called because it's 
> calling a portlet that, at the time, doesn't exist in Jetspeed's 
> mind.  It seems counterintuitive, but I believe that's the case.
> 
> 
> >>> [EMAIL PROTECTED] 11/05/03 05:13PM >>>
> Hello,
> 
> I know it is a pretty long post, but I really tried to 
> compress it to bare minimum.
> 
> We would like to implement role based security and layout for our 
> portal.
> We auto generate xreg and psml files based on information
> defined in a document of a certain structure, with base Portlet
> IDs in xreg file and instance Portlet IDs in psml files
> generated based on some rule. We use instance portlet IDs
> from PSML files to construct URLs in JSP based portlets
> for form submit, etc. Majority of links reference OTHER portlets!
> 
> The current setup:
> - user account user_xyz exists that has only one role role_abc
> - a psml file defined in WEB-INF/psml/role/role_abc/html/default.psml
> 
> When user user_xyz logs in, the picture is:
> - rendered page with the proper layout defined in default.psml for 
> role role_abc.
> 
> - all links of tabs and menu items reference unique (generated by 
> JetSpeed) portlet
> IDs instead of the ones that are defined in default.psml for 
> role_abc.(This is a problem for us!)
> 
> - browser (IE) URL: http://localhost:8080/abc/portal 
> 
> It looks like all links on the page are user URLs, not ROLE URLs.
> As example, TAB URL:
> http://localhost:8080/abc/portal/media-
> type/html/user/user_xyz/page/default.psml/js_pane/P-f8ad89196e-
> 10016 
> Menu Item URL:
> http://localhost:8080/abc/portal/media-
> type/html/user/user_xyz/page/default.psml/js_pane/P-f8ad89196e-
> 10006 
> 
> Clicking on menu item brings properly rendered portlet with our 
> HARDCODED links
> in html body that reference portlet IDs that we created and placed 
> into PSML file.
> Form submit URL that we construct looks like:
> <form ... action="portal/media-
> type/html/role/role_abc/page/default.psml/js_pane/Inst1PortletName" ...>
> Inst1PortletName is portlet name in our generated file 
> .../role/role_abc/html/default.psml.
> Form submit leads to page reload (without executing expected 
> action) with all URLs 
> on reloaded page being from WEB-
> INF/psml/role/role_abc/html/default.psml 
> - as we would like it to be.
> 
> The other way to achieve loading of the main page with links as 
> defined in psml
> file that we generate is to change browser URL to (and refresh):
> http://localhost:8080/abc/portal/media-type/html/role/role_abc/ 
> 
> There are 2 questions:
> 1. Is it a proper way to construct site layout and links when 
> using JetSpeed?
> 2. How to configure JetSpeed to load default ROLE based layout 
> after login with
> links as they are defined in psml file that we create?
> 
> Thank you for your help!
> 
> Alex
> 
> 
> 
> -------------------------------------------------------------------
> --
> To unsubscribe, e-mail: jetspeed-user-
> [EMAIL PROTECTED] 
> For additional commands, e-mail: jetspeed-user-
> [EMAIL PROTECTED] 
> 
> 
> 
> 
> 
> -------------------------------------------------------------------
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to