This discussion is archived
3 Replies Latest reply: Oct 21, 2008 4:26 PM by Shail Goel RSS

Need to clear page level cache for normal portal users

561923 Newbie
Currently Being Moderated
In my portal I have a few portal pages that have been set to "Cache Page Definition Only at User Level ". I have provided a feature to the users where they can add delete content in the page. But due to the cache the changes do not appear immediately. So i want to give a feature to my users to clear the cache for their pages. Or i can clear the cache for the specific user after implementing the changes through my Stored procedure.

I tried using the wxvutil package as mentioned in Re: Clear Web Cache with PL/SQL but it does not seem to work.

Can anybody suggest me a solution for this?

Thank You
Nirmal Mishra
  • 1. Re: Need to clear page level cache for normal portal users
    Shail Goel Pro
    Currently Being Moderated
    Nirmal,

    Can you tell what exactly is not working when you use wxvutil package? Are you getting any errors?

    Also have you taken a look at Chapter 13 in Web Cache Admin Guide?
    http://download.oracle.com/docs/cd/B14099_19/caching.1012/b14046/invalidate.htm#sthref1602

    Thanks
    Shail
  • 2. Re: Need to clear page level cache for normal portal users
    561923 Newbie
    Currently Being Moderated
    Shail,

    Thanks for your reply. Let me tell you the exact scenario.

    Problem Scenario -
    I have a page group which has 5 pages. I have created the header for each page using a HTML Page Skin which i have added to the template of each page. The header has links to each page. Now i have provided the facility to the Users to switch on and off pages (e.g. if they do not want Page A to appear in their Header they can switch it off). Since the page is set to "Cache Page Definition Only at User Level " the pages get cached. When the user uses the facilty to switch on/off pages the same is not reflectede immediately.

    Requirement -
    Since the same header is to appear for the root page and all the pages of my page group i need to clear the cache for all of them after making setting the changes for the user.

    I used the wxvutil package and to invalidate the cache for the pages as below. I have added this bit of code in the same Stored Procedure which i use to save the changes made by the user.
    --for the root page
    portallive.wxvutil.invalidate_reset;
    portallive.wxvutil.invalidate_uri ('/<page group name>', 0, NULL );
    portallive.wxvutil.invalidate_exec(<host>, <port>, <password>);
    --for all pages of page group
    portallive.wxvutil.invalidate_reset;
    portallive.wxvutil.invalidate_adv('/portal/page/portal/<page group name>/','|.*',<host>, 'POST', null, null, null, null,0, null);
    portallive.wxvutil.invalidate_exec(<host>, <port>, <password>);

    If i execute this in sql plus and check the output (which appears in XML Format) i get the count of the number of pages invalidated. But then even if I clear the browser cache or close it and login again i do not see the changes. The changes made within the page content is reflected but not in the header. Only if login as an admin and use the clear cache option then i can see the changes with respect to header.

    Hope you have got the scenario.

    Thanks
    Nirmal
  • 3. Re: Need to clear page level cache for normal portal users
    Shail Goel Pro
    Currently Being Moderated
    You seems to have no problem using the wxvutil.sql package from Web Cache's side. What you have problem with is what to invalidate. You needs to talk to Oracle Support so they can help you understand what Portal URLs the page you want invalidated involves. In Portal, this can be particularly tricky as one request usually involves multiple pages. if any one is left not invalidated, the rendered page may look different.

    Thanks
    Shail

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points