Invalidating portal page cache

On a portal page, contents are rendered by portlets using java programs. With page caching on, the entire portal page is cached. Performance is great when users are navigating back to this portal page from other pages.
Because the portlets hold session context in the application, this portal page is invalid once a user signs out or closes the browser window. The problem is that if this portal page is cached, when the user signs in again portal would present the cached page without going to the portlets to re-establish a new session context.
What can we do to invalidate the cache of this portal page? We found nothing in the portal to specify any invalidation rules for a portal page. We believe we cannot invalidate the cached portal page from the application.
Any ideas will be appreciated,
Chung

With the following settings:
1. Portal page caching:
Cache Page Definition Only
2. Provider.xml of portlets:
<pageExpires>20</pageExpires>
3. Provider registration info:
Require portal user specific session information. (Option checked)
we get the following results:
- When portal user navigates back to the portal page consisting the portlets,
the page is rendered quickly. It's because provider.xml says portlets are good for 20 minutes.
- When a user logs out and within 20 minutes logs in again IN A NEW BROWSER WINDOW, a new session id will be used, portal will not use the cached portlets. Hence, requests will be made to the application and a new application session context will be created.
However, if the user uses the same browser window, then cached portlets will be used. It would encounter the application session timeout error. This restriction might be acceptable to customers.
We will recommend the above settings to the customer. Please verify that this is a valid solution.

Similar Messages

  • Issue to follow-up hits statistics on portal pages due to web cache

    Hi,
    I follow-up hits-statistics on my portal pages using a simple PL/SQL element on each page, that INSERTS into a specific table, in order to follow-up hits on each portal pages.
    My problem is that, due to the web cache, the PL/SQL element that performs the INSERT, runs only sometimes, and therefore my statistics are not accurate.
    How could I run my PL/SQL element each time the page is accessed ?
    Thanks for your help;
    Best Regards,
    Jean-Christophe

    Hi JP,
    "Our WBT courses do not get followed up at all in the new standard way."
    We experienced this as well after implementing the solution in note 1796928. The cause of our problem turned out to be a missing authorization on the user account we use to run the web content player. In our case, the user had no read authority for infotype 1001 so function LSO_LA_SAVE_LEARNINFO_C never made the call to function ZLSO_IF_AUTO_CONFIRM.
    To discover the cause, we needed to debug function LSO_LA_SAVE_LEARNINFO_C, however since it runs in a separate task we couldn't debug directly.
    To get around this, we added messages of type X at various points in the function's enhancement code. This forced the function to dump at runtime, and we then looked at the runtime error log to see the contents of the dump message. This enabled us to find the problem. Maybe you could try this same debug-via-dump approach to identify the source of your problem.
    Another thing to check is that users have authorization object P_LSO_FOUP.
    I also want to mention that as part of our implementation, we made the same enhancement to function LSO_CP_WRITE_SCORMDATA as was made to function LSO_LA_SAVE_LEARNINFO_C so that function LSO_CP_WRITE_SCORMDATA also calls function ZLSO_IF_AUTO_CONFIRM.
    Cheers,
    Amy

  • Invalidating the PRT cache

    I uploaded an iView (it includes an applet), but when I made change to this applet and uploaded it's iView (refreshed and compiled) to portal, I got old version of applet. I found this in Tips and Tricks:
    Invalidating the PRT cache
    If you want to clean the PRT cache, please open a browser to the server and go to the following pages:
    1) In order to clean the cache in the memory – http://:/irj/servlet/prt/portal/prtroot/prtmode/_release
    2) In order to clean the PRT cache in the Database – http://:/irj/servlet/prt/portal/prtroot/com.sap.portal.prt.cache.DestroyCacheTableComponent
    .. but when I reached this links (I tried this on two portals) I got mainly iView not found exception.
    How to deal with it? Where can I download this iViews?
    Or is there another possibility?

    Hi Josef,
    the PRT cache can be released by going to
    System Administration -> Support -> Portal Content Directory -> Pcd Administration.
    In addition, there is a http cache in the underlying J2EEEngine. I don't know if applets are cached there, but here's the way to delete the http cache:
    open Visual Administrator -> server -> services -> http
    Clicking the trash can icon releases the http cache. This has to be done for every cluster node.
    And there is, of course, your browser cache...
    regards, Karsten

  • Is there a limit to number of File items loaded to a single portal page?

    Hi,
    Does anyone know if there is a limit to the number of File items that can be loaded to one single portal (10.1.4) content page?
    thanks,
    Bret

    Hi Arnaud,
    Don't recall that we ever investigated a threshold value where portal was not performing anymore. It also depends on other circumstances as well :
    - what kind of caching is used on the page, i.e. pages cached on system level for a period of 24 hours will generally perform well, even if they have a large number of file items. The performance penalty is paid by the person who needs to generate the page from the back-end database.
    - Are all files in a single region or are they divided over several regions. I seem to recall that we use a fetcher thread for each region.
    My advice :
    Built a prototype, add file items to a page and start load tests. This will allow you to determine how many files can be added to a page without an unacceptable loss of performance.
    Regards,
    Erik

  • Small pop up window inside a portal page

    My portal page has one html portlet. I need to have a small pop-up window on this page which contains periodically changing messages(message is retrieved from a table in the database). The popup window should appear if the message inside the popup message has changed, otherwise it should not appear.
    this is my code below:
    declare
    cursor cur_popup is
    SELECT POPUP_MSG_READ_FLG
    FROM app_users
    WHERE PORTAL_USER_ID = portal30.wwctx_api.get_user();
    BEGIN
    open cur_popup;
    fetch cur_popup into msg_read;
    close cur_popup;
    IF msg_read = 'N' THEN
    url := PORTAL30.wwv_user_utilities.get_url('CAPS.LINK_POPUP');-- links to a portal page with popup
    portal30.wwv_redirect.url(p_url => url);
    ELSE
    url := PORTAL30.wwv_user_utilities.get_url('CAPS.LINK_without_popup');--links to a duplicate portal page without popup
    portal30.wwv_redirect.url(p_url => url);
    END IF;
    END;
    I don't want to maintain duplicate portal pages -one with onLoad=window.open('popup') and the other page without the pop up.
    Pls. suggest an alternate method. How can I pass parameters to the portal page and retrieve it in my portlet's javascript? Please let me know as I need it urgently.

    Hi Lavanya. I have implemented the same.
    Within my oracle tags, I'm using htp.print to produce the javascript for opening the window if it has not yet been viewed. It gets a bit confusing to produce one language syntax with another, but seems to work fine - you're kind of saved by pl/sql's single quote syntax vs. javascript double quotes!
    Some improvements I'd like to make are for cases where the browser has cached the content (which tells the browser to open a popup window) and to produce a receipt when the user clicks "OK" in the popup, rather than when the page is delivered.
    Let me know how it goes. Sounds like a common need - maybe we should get together and publish a new portal component! :^) Thanks, Luke.
    My portal page is not generated from within my pl/sql. My code just calls the link which,in turn calls the portal page. The portal page contains a html portlet, and the popup window is opened from <body onLoad = window.open(.....)>
    so, i cannot use htp.p here.
    Pls. help!!

  • Content not getting refresh on Portal Page

    Hi,
    The structure of my page is WorkSet->Page-> iView1 + iView2.
    Prob 1: iView1 is a URL iView and the page to be displayed is an html page stored on the server. I  changed the content of the html page on the server but the same is not getting reflected on the portal page.
    iView2 is a webdynpro application.
    Prob 2: Any changes made to the pages like making iView1 visible-false, reflects the changes in the preview but not when the page is opened through workset.
    Kindly help.
    Thanks,
    Shruti

    It is already done
    dear shruti,
    once again check with navigation cache and other PCD cache related issues , do it once again.
    if you are not getting then simply delete that content from production and check the issues in development and Qulaity
    servers.after you get d desired output transport them into production. then sure it work.
    hope it will works fine
    Regards
    Maheshchandra

  • Javascript:void(0) error in portal page

    Hi,
        I am using EP 7.1. IE 6. when i am working in content admin, user admin or system admin some time entire roles are working fine. But in frequent way i am getting error in portal page like JavaScript: void (0) and at the mean time i am unable to work in portal like not able to create users, not able to add iView with page or some tab is not functioning at all.
    Can someone explain me the region, why this error i am getting and how we can resolve this error?
    Thanks,
    Kundan
    Edited by: Kundan 2009 on Mar 17, 2010 11:17 AM

    Hi Kundan,
    Please check with Basis for server session timeout and clear browser cache and temp files
    Also check below thread if it helps :
    http://www.topbits.com/javascript-void-0.html
    [How to enable JavaScript in Internet Explorer|http://www.topbits.com/how-to-enable-javascript.html]
    Hope it helps,
    Regards
    Arun
    Edited by: Arun Jaiswal on Mar 17, 2010 4:15 PM

  • Error when add portlet into portal page

    Dear all,
    I use:
    + JDeveloper 10.1.3.4.0
    + Oracle Application Server 10g release 2.
    + JDK 1.4
    I installed ADF_Installer and Portlet_Container for OC4J instance in Oracle Application Server ok.
    1. I use JDeveloper, create my simple project with template is WebCenter Application.
    2. In the Portlet project, I added the Portlet Faces Bridge.
    3. I add the JSF (with name is home.jspx) in Web Tier into the Portlet project (select the JSF JSP). And type is .jspx and Do not automatically Expose UI Components in a Managed Bean.
    4. Inside the home.jspx, I add the OutputText only.
    5. Inside the WEB-INF, i created portlet.xml file with content is:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <portlet-app version="1.0"
    xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
    <portlet>
    <portlet-name>MyTestPortlet</portlet-name>
    <display-name>My Test Portlet</display-name>
    <portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet</portlet-class>
    <init-param>
    <name>DefaultPage.view</name>
    <value>/home.jspx</value>
    </init-param>
    <init-param>
    <name>BridgeLifecycleListeners</name>
    <value>
    oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener
    </value>
    </init-param>
    <supports>
    <mime-type>text/html</mime-type>
    <portlet-mode>VIEW</portlet-mode>
    </supports>
    <supported-locale>en</supported-locale>
    <portlet-info>
    <title>My Test Portlet</title>
    <short-title>testportlet</short-title>
    </portlet-info>
    </portlet>
    </portlet-app>
    6. Inside the WEB-INF, i edited web.xml by added some contents (and inside this file, I removed line in web-app tag
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"): --> If I did not remove it, I received some error !
    <context-param>
    <param-name>javax.faces.application.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/faces-config.xml,/WEB-INF/portlet.xml</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    </context-param>
    7. I create the WAR File Deployment Profiles.
    Ok, I deploy this portlet into OC4J instance in Oracle Application Server (10g release 2). -- > Finished.
    From my browser, I use URL Address such as:
    http://mymachine.com:7780/jobs/portlets?WSDL --> ok.
    After that, I log into Oracle AS Portal, and register this provider with style WSRP --> ok, I can see it from Portlet Reposistory. But when I add it into my portal page, I receive following message
    Error:Could not get markup. The cookie or session is invalid or there is a runtime exception.
    I refresh my portal page but it not effect !
    In Oracle Application Server 10g release 2 have support JSF Portlet ? Or I have some misstakes ? Please guide to me to solve this problem.

    I updated Oracle Application Server Portal from 10.1.2 to 10.1.4 ! Please give me some ideas !

  • Problem with page cache clearing

    I have a button that exits HTML DB and returns to our portal main page. That is done through a URL, and not a page number. There is no way to reset page cache with a URL branch. So I made a page that has a branch that calls the URL, and then I changed the button on the page to branch to this page and do the proper page cache resets before calling the other page that branches to the URL. However, the page cache is not being reset when I do this.
    Here is the page flow
    page 10 - Select a record for update
    page 20 - Display data using an ID that is on page 10
    If Return to Menu is clicked branch to page 1 and reset page 10 and page 20
    Page 1 - Branches to URL
    When I go back to page 10 from the application server page page 10 & 20 are still populated.
    If I change page 20's return to menu to branch to page 10, then the reset does occur. What am I doing wrong? How do I reset the pages when leaving HTML DB?

    Dwayne,
    Validations, like other components, can have conditions that observe the current request value. This value is set to the button name when a button submits the page. So you could have a condition on a validation like 'When request != Expression 1' and in the Expression 1 field type the button name (check the button attributes to confirm the case-sensitive name and submit the page in debug mode to see the value of request when you click the button).
    About clearing page cache when branching to URL -- not sure what you're after: Cache can be cleared if an HTML DB page is invoked via URL. You specify clear-cache options in the branch definition which you can observe in the URL that invokes the target page. If you mean that you want the cache of one or more HTML DB pages to be cleared "when" a branch to a non-HTML DB page is taken, that doesn't really make sense because nothing much happens during a branch except to call the HTML DB engine's accept procedure or to do a URL redirect. So all you can do is specify some action to happen "before" a branch is taken, e.g., clear cache on pages x,y,z using a page process, or specify that the clear cache action is to occur "after" the branch is taken as manifested in the resulting URL to an HTML DB page. For something to happen "when" a branch is being done presumably would be after page processing but before a redirect, which we already support in the form of page processes.
    Scott

  • Partial Page Caching in 902

    What, if Any, partial page caching using ESI tags can be done in Portal V2 or with the PDK?

    There is no PPC available through Portal in 902.
    PPC will be available in 903/4.
    Obviously you can still use PPC in your on code that directly accesses Webcache
    Thanks
    -JP

  • Back button page cache

    Hi
    I have a page where a portal report is exposed to the users. When user clicks on logout button and clicks back user able to see the report. But when refresh the same page login page is being shown. I presume the reason is caching. How to set the cache it in such a way that user won't see any web pages after logging out with a back button.
    My client has some common computers where any user can access these reports, so it is a security concern.
    Your help will be appreciated.

    This reproduces with any portal page. In this case, it can come from the cache of the browser.
    Try to empty the browser's cache before clicking "back" button and see if it reproduces. If not then you'll have to configure your browser not to use any cache.

  • Putting a page cache as old

    Hi, we are caching page definition & content, but at sometimes
    we want to force a recalculation programmatically, i.e., to put
    the page cache as old.
    I tried to used the wwutl_api_cache package, but it (silently)
    doesn't change anything. We are using Portal 3.0.9.8.
    Any clues?
    Thanks in advance.

    > When I press F12 to preview the site, the link to the
    Orient page is as
    > follows:
    >
    > C:\Documents and Settings\Tracy\My
    Documents\Serenity\Orient
    > But how do I make it so the .htm is there and doesn't
    need to be typed in
    > order to preview the page? I have this problem with two
    different pages.
    okay-- so the path is wrong.
    Open the page for editing in dreamweaver.
    Select that link with the mouse.
    In the Properties Inspector, use the folder icon next to the
    Link box to
    browse to the correct file.
    Alan
    Adobe Community Expert, dreamweaver
    http://www.adobe.com/communities/experts/

  • Programmatically Delete Portal user Cache

    Hi! I have a problem re-using the "Portal User Profile" portlet to put on my own portal page. It is not able to execute unless i am Portal Administrator (PORTAL). The requirement is that I need to clear the cache for a Particular User.
    <br><br>
    I tweaked the Portal User Profile Portlet and from the "View Source", was able to construct the following HTML and place it in an "HTML Portlet". But when I submit, it doesn't work. Am I missing something...? Any Help is greatly appreciated.
    <br><br>
    Thanks
    Ram
    <br>
    HTML Code
    <head><br>
    <script type="text/javascript">
    function buttonClearCacheSubmit(){
         document.UserProfile.p_username.value=document.UserProfile.username.value;
         document.UserProfile.username.value="";
         document.UserProfile.submit();
    </script>
    </head><br>
    <font style="portlettext1">Clear the cache in Web Cache for User</font><br>
    <form name="UserProfile" method="POST" action="/pls/portal30/portal30.wwsec_app_user_mgr.edit_user" enctype="multipart/form-data"><br>
    <input name="username" type="text" size="30" maxlength="30"><br>
    <input type="button" name="p_request" value="OK" onClick="javascript:buttonClearCacheSubmit()"><br>
    <input type="hidden" name="p_username" value=""><br>
    <input type="hidden" name="p_clearcache value="Y"><br>
    <input type="hidden" name="p_action" value="TAB1"><br>
    <input type="hidden" name="p_back" value="http%3A%2F%2Fhostname.domain%3A7778%2Fportal%2Fpage%3F_pageid%3D428%2C61204%26_dad%3Dportal30%26_schema%3DPORTAL30"><br>
    </form><br>

    I'm glad with this (default) behaviour, although I would have no problems with a cascaded delete as an option.
    We use portal for our intranet site, and a default cascaded delete, would mean that if a worker leaves our company, and therefore his account would be deleted, all his contributions to the intranet would be deleted too.
    Ton

  • Portal 10g cache sucks

    I've been struggling for a whole week now with caching issues on portal 10g (9.0.4 -linux).
    Like other postings in this forum I get pages from another previous session in my browser, and since my portlets are browser dependent, this is very annoying: I get the page on a windows - ie just as the where made on the first visit as konqueror on linux.
    Putting the cache off did not help: I stopped the webcache and the portal cache, same song allover again.
    But for all who is having the same problem, I found a workaround that seems to work (only for own build portlets): I just put an extra parameter on the page (I called it ts - from timestamp) and give it the value of the millisecond the page was made. eg: &ts=20040306232915765, this seems to force the page to be regenerated (since it has a different parameter every time again).
    Note: As I saw in some postings, one suggest to set the browsercache to 'every visit': sorry, you can't expect the whole world visiting your pages to do so!!!

    Leo.
    The browser cache setting for every visit to the page is a mandatory requirement to ensure that the content is managed in a timely and expeditious manner. If the user's browser is caching content then we (and you) cannot control the update of that content, and you will (as you've experienced) end up with stale content.
    The 10g cache does not 'suck'. From the description you have given here, you are implying that you have turned on 'FULL PAGE' caching which causes 2 things to happen, the fully parsed and generated page is stored in the file cache for a specified period of time. The fully parsed and generated page is cached in the user's browser cache for a period of time (specified by you). When using this type of caching even if you clear the file cache you will still retain the cached objects in the browser cache for the stated retention period, only after that period has expired will the content be regenerated.
    The reason the content regenerates when you add a parameter is because this forces the regeneration of a new and differing object (uniquely identified by the URL) which will subsequently be added to the cache.
    If I have not described your scenario, please provide some more details about the types of portlets you have written, the pages they are placed on, and the caching decisions you have taken with regard to those portlets and pages.
    JP

  • Receive some error when add portlet into portal page

    Dear all,
    I use:
    + JDeveloper 10.1.3.4.0
    + Oracle AS Portal 10g release 2.
    + Oracle Application Server 10g release 2.
    + JDK 1.4
    I installed ADF_Installer and Portlet_Container for OC4J instance in Oracle Application Server ok.
    1. I use JDeveloper, create my simple project with template is WebCenter Application.
    2. In the Portlet project, I added the Portlet Faces Bridge.
    3. I add the JSF (with name is home.jspx) in Web Tier into the Portlet project (select the JSF JSP). And type is .jspx and Do not automatically Expose UI Components in a Managed Bean.
    4. Inside the home.jspx, I add the OutputText only.
    5. Inside the WEB-INF, i created portlet.xml file with content is:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <portlet-app version="1.0"
    xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
    <portlet>
    <portlet-name>MyTestPortlet</portlet-name>
    <display-name>My Test Portlet</display-name>
    <portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet</portlet-class>
    <init-param>
    <name>DefaultPage.view</name>
    <value>/home.jspx</value>
    </init-param>
    <init-param>
    <name>BridgeLifecycleListeners</name>
    <value>
    oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener
    </value>
    </init-param>
    <supports>
    <mime-type>text/html</mime-type>
    <portlet-mode>VIEW</portlet-mode>
    </supports>
    <supported-locale>en</supported-locale>
    <portlet-info>
    <title>My Test Portlet</title>
    <short-title>testportlet</short-title>
    </portlet-info>
    </portlet>
    </portlet-app>
    6. Inside the WEB-INF, i edited web.xml by added some contents (and inside this file, I removed line in web-app tag
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"): --> If I did not remove it, I received some error !
    <context-param>
    <param-name>javax.faces.application.CONFIG_FILES</param-name>
    <param-value>/WEB-INF/faces-config.xml,/WEB-INF/portlet.xml</param-value>
    </context-param>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>server</param-value>
    </context-param>
    7. I create the WAR File Deployment Profiles.
    Ok, I deploy this portlet into OC4J instance in Oracle Application Server (10g release 2). -- > Finished.
    From my browser, I use URL Address such as:
    http://mymachine.com:7780/jobs/portlets?WSDL --> ok.
    After that, I log into Oracle AS Portal, and register this provider with style WSRP --> ok, I can see it from Portlet Reposistory. But when I add it into my portal page, I receive following message
    Error:Could not get markup. The cookie or session is invalid or there is a runtime exception.
    I refresh my portal page but it not effect !
    In Oracle Application Server 10g release 2 have support JSF Portlet ? Or I have some misstakes ? Please guide to me to solve this problem.

    I updated Oracle Application Server Portal from 10.1.2 to 10.1.4 ! Please give me some ideas !

Maybe you are looking for

  • Deleting blank spaces in internal table

    Hi Gurus, I want to delete the empty spaces of a particular field in internal table.I used condense and shift statements but didnt work because the work area value is already condensed.I am not sure why the internal table field is having so much of e

  • User_cons_columns Gives All constraint [SOLVED]

    user_cons_columns Gives All constraint on the table, But is there data dictinary that tell me if that column is PRIMARY KEY constraint or not Message was edited by: jus I got it , It is SELECT col.column_name , c.table_name FROM User_Constraints C ,

  • 24SL415U and CISCO wireless compatibility

    I have a Toshiba 24" LED 24SL415U that will not work with a CISCO DPC3825 wireless modem on.  With the modem on the remote and buttons except for the power button stop working after approximately 45 seconds.  I changed the setup of the modem trying a

  • Pick only video and not audio to edit in timeline

    How can I only move the video and not audio to the timeline when I pick a clip I want? Everytime I drag it to the timeline it brings the audio and video and I have to unlink it and then delete the audio.

  • Settings for Apple TV

    I am new to using Compressor, and would like to optimize some computer graphics to the best quality playable on the aTV. Is there any presets available to download. Or advice on getting best quality conversion from a large quicktime movie. Using the