2 Replies Latest reply on Feb 3, 2009 6:13 AM by ilya_shaikovsky

    A4J 1.1.1 Snapshot on Oracle Portal 1.4

    jgrangethales

      I've been working on getting yesterday's snapshot to work on Oracle Portal. I've not succeeded yet, but have a number of observations to make:

      Oracle Portal only supports WSRP portlets. When client code calls renderResponse.getNamespace() then the returned string is "WSRP_REWRITE_" (which is then re-written by the portal server). This causes a problem with form submission as the components cannot be decoded (trying to match "WSRP_REWRITE_" with the re-written version that is passed back in the submitted form). The solution is to replace the results of getNamespace() with another unique key (I use one that is obtained from putting a random attribute into the portlet session (PORTAL_SCOPE) and then retrieving it from the APPLICATION_SCOPE. The window ID is found between javax.portlet.p. and ?. I then take a hash of it and use that for the namespace). To this end, having getNamespace calls dotted round the codebase is probably not a good idea.

      The filters appear not to be initialised or used in the WSRP portlet environment (certainly not for basic render). This means that:
      a) you get an exception thrown at line 46 of PortletAjaxContext (unless you call a page directly via a browser to initiate the filter)
      b) the javascript references never get put onto the page


      I've not quite got to finding the URL you use for submitting ajax requests. If it is directed via your filter to the faces servlet, then it may work.

      It may be worth your while looking at extending the portlets proved in the apache portals bridge project. These appear to work well in multiple portlet modes and there is support for filters, which you may be able to use.

      I will continue to try and push the envelope on this, but will be very pleased to have quick updates on any changes you make pertaining to these problems.

      TIA,


      John Grange