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:
>
> 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