One of the common problem that PS developers encounter is the PS page not showing in the menu after component registration. Here are the few steps that I am doing when this issue happens:
1. Make sure that it is successfully registered. In the application designer, you can see the logs whether it encountered an error or the component has been successfully registered. Another way to check is to verify it in PIA under the Structure and Content page. Navigation is Menu > PeopleTools > Portal > Structure and Content. Click to the folders/sub-folder until you find the component you registered. From there, you can verify the node, menu, permission list and if it is still valid (there are fields there indicating the validity of the portal). If Valid to date is null, this means that there's no expiration for this portal. If the page cannot be found in Structure and content, it is either not registered successfully or you do not have access to view it.
2. If you find all configurations or setup from Portal Structure and Content are correct and the link from the menu is still not visible, then you need to check the permission list. You can use the SQL below to verify if the specific component is attached to a permission list. You can also use this to see if a specific user has an access to it. You can play around with the criteria.
SELECT DISTINCT d.roleuser,
a.rolename,
b.classid AS PERMISSION_LIST,
b.menuname,
b.baritemname AS "COMPONENT NAME",
b.pnlitemname,
c.descr AS "PAGE DESCRIPTION",
Decode(b.displayonly, 1, 'Y',
'N') AS "DISPLAY ONLY?",
e.navigation
FROM sysadm.psroleclass a,
sysadm.psauthitem b,
sysadm.pspnldefn c,
sysadm.psroleuser d,
(SELECT LEVEL0.portal_label
|| ' > '
|| LEVEL1.portal_label
|| ' > '
|| LEVEL2.portal_label
|| ' > '
|| level3.portal_label AS navigation,
level3.portal_uri_seg2 AS component
FROM psprsmdefn level3,
psprsmdefn level2,
psprsmdefn level1,
psprsmdefn LEVEL0
WHERE level3.portal_prntobjname = level2.portal_objname
AND level2.portal_prntobjname = level1.portal_objname
AND level1.portal_prntobjname = LEVEL0.portal_objname
AND level3.portal_name = level2.portal_name
AND level2.portal_name = level1.portal_name
AND level1.portal_name = LEVEL0.portal_name) e
WHERE a.classid = b.classid
AND b.pnlitemname = c.pnlname
AND a.rolename = d.rolename
--AND d.roleuser = 'USER'
--AND b.baritemname = 'COMPONENT NAME'
--AND d.rolename = 'ROLENAME'
--AND b.classid = 'MENU NAME'
AND e.component = b.baritemname
ORDER BY 1,
2,
3,
4,
5,
6;
3. Run the portal security synch process. Navigation is: Menu > PeopleTools > Portal > Portal Security Synch. Normally, PS Admin is the one who has access to run this process.
4. Clear server cache. Sometimes, we encounter this issue due to caching issue. We normally request for server bounce (Web server and App server).
Note: When you register a new component, make sure that all new folders used are included in the migration plus the existing folder where these new folders or new portal registry is stored.
No comments:
Post a Comment