Sharing parameters between 2 portlets
I have two seperate java applications, both of which have been turned into portlets with their own provider.
I need to pass parameters between the portlets and am trying to work out the best / most secure way to do this.
I know that if both portlets were in the same provider they could share providersession information. I could do this if i could change one of the provider files to link to a portlet in another jdeveloper application. I believe its not possible to have more then one portlet in a provider if the code for the second portlet is comming from a seperate jdeveloper application ??
I could also pass parameters through portlet / page parameters. The problem is that i don't want these parameters to appear on the URL. Am I correct in assuming that this type of parameter passing between portlets always means the parameter appears on the URL.
I heard of the java object cache as a method, but don't know where to start with this !!
Dows anyone a solution , to what must be a common problem ?
Hi Frewin,
Why cant you have both the portlets in the same JDeveloper project? You can have as many portlets as you wish to have within a single provider.
Frankly, you dont really need to rely only on jdeveloper :-) ...
thanks,
Harsha
Similar Messages
-
Passing parameters between portlets with in the same page
Hello,
I have created a Form and a report. The form allows a user to make some selection values, and then upon submit it passes the selected values to the report to query the database. The results from the query are displayed in a new - seperate - window from the form. Is there anyway to disaply the report results on the same page as the form that called the report? I guess I am trying to have a page with 2 portlets (a form, and a report). I want the user to be able to make a selection from the form portlet and pass that selection to the report portlet within the same page.
Thanks,
McKellHi I received this info from an OSS named Mahantesh. I thought it was very helpful information for passing portlet parameters between a form and a report within the same page.
Please check these steps to pass parameter from form to report:
This article is based on demo tables EMP and DEPT.
1. Create a report RPT_DEPT using the query 'Select * from dept where deptno= :deptno'
2. Create a form FRM_EMP based on EMP table.
3. Edit the form FRM_EMP => 'Formatting and Validation Options' section => click on DEPTNO field
=> Give the value for the 'Link' (under 'Display options') as 'javascript:runrep()' where runrep is the name<br>
of javascript function that we are going to create later.
4. In 'Form text' section, in the 'Footer Text' add the code for the runrep function as follows.
<script>
function runrep()
var formObj = document.forms[0];
var deptno;
for (var i=0; i < formObj.length ; i++){
if (formObj.elements.name == 'FORM_EMP.DEFAULT.DEPTNO.01'){
//FORM_EMP is the form name
deptno = formObj.elements[i].value;
break;
var url="/portal/page?_pageid=38,1,38_31678:38_31787&_dad=portal&_schema=<br>
PORTAL&deptno=" + deptno;
//modify the url according to your environment.<br>
window.location=url;
}<br>
</script>
5. Modify the URL in the above code with your page url on which form and report portlets have been placed.
6. Goto Page properties => Parameters tab (Parameters and Events option should have been enabled at Pagegroup level).
7. Create a page parameter and map it with report portlet parameter.
8. Now run the page, enter deptno or query the form to get the deptno and click on the link next to deptno field. You should get report with corresponding deptno on the page. -
Passing parameters between portlets (PL/SQL PDK)
I'm new to the PDK, so forgive me if this is a dumb question. I need to develop a portal page containing a single search portlet, and then many other associated portlets which bring back various bits of data based on the result of the search.
Is it possible to drive the content of other portlets on the same page by passing values from one to another and refreshing the whole page?
nullNeil,
You can definitely pass parameters from one portlet to another in PL/SQL and we actually have a sample that you can take a look at. In the PDK, download the Parameter passing and CSS Example Provider sample. http://technet.oracle.com/products/iportal/files/pdkjan/index.html
Click on PL/SQL
One of the portlets demonstrates how to pass parameters to one portlet or all portlets on a page.
Hope this helps,
Sue -
Passing Parameters between Portlets or pages
Hi,
How can we pass the data from a Portlet in one page to another Portlet in a different Page??
Requirement: I want a portlet which should take some parameters(basically a form),On submit should process the parameters and should forward the result to a Portlet in another page.
Regards
YashYash,
You could use session variables to save information that can be used during the browser session. Example would be the form asks a user for their nickname. The user types in his nickname and hits the submit button. The form will then save the info in a session variable. Then any other portlet can open that session variable and get the info and use that info. Now if the browser is closed, the info in the session variable is lost. Check out this link:
http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/PLSQL/DOC/PLDOC_9026/wwsto_api_session.html -
Passing parameters between portlets
Hi , I have a page with two portlets : one , done with the wizard , is a form , the other one is another form , but is done with a JSP.
My trouble is that with the second form , the one done with a JSP , I must insert into the database two values , one retrieved by the jsp itself , and the other one is a value of one field of the other form.
My question is how can I get , from my jsp , that value coming from the other portlet ???
Thanks
maxHi,
You can redirect to another page and pass parameters to it. For this, you need to know the pageid to which you have to redirect. Assign form action to
http://machine:port/servlet/page
PageServlet requires few other parameters (form fields) to redirect the control to the required page.
You can get them by making a call to
HttpPortletRendererUtil.htmlFormHiddenFields(pr,PortletRendererUtil.PAGE_LINK)
This returns a string similar to the following.
<INPUT TYPE="hidden" name="_pageid" value="54" />
<INPUT TYPE="hidden" name="_dad" value="portal30" />
<INPUT TYPE="hidden" name="_schema" value="PORTAL30" />
Parse it for _pageid and change the value to the page you want to redirect. Print these contents inside your form. Once you submit the form, it'll redirect the control to the page you want with the parameters.
--Sriram -
Passing parameters between portletized ADF Faces applications, possible?
Hello,
In the developer guide, section 4.5.3 (http://download-east.oracle.com/docs/cd/B32110_01/webcenter.1013/b31074/jpsdg_pages.htm#CHDGGCGE) it says that you can synchronize portlets using an ADF Faces component value. However, that example do not use a value coming from a real portlet, the parameter come from a selectOneChoice define in the container page.
Is there a way to achieve the same thing but with the selectOneChoice being placed in the WSRP 2.0 portlet? Basically the communication scheme is WSRP 2.0 to WSRP 2.0 which is something possible using URL parameters. However, the problem with JSF components is that they pass their values through a JavaScript launched POST submit so the values are never added to the URL and even worst, you cannot be sure of the generated parameter name as it depends on the context in which the component exists (mainly the presence of a parent NamingContainer) and the only way to know that parameter name for sure is to have a way to call component.getClientId(facesContext) which is impossible for the portlet container and therefore for the other portlets.
To put it shortly, is there a way to send a navigation parameter from a portletized ADF Faces application to its container page beside using goButton and goLink (we need to keep the action/actionListener functionality)?
Regards,
Simon LessardCan someone explain how to assign a value to a parameter in JSF like in the ParameterFormPortlet source code? Something in replacement of this :
if (viewMode)
// Set the new parameter values. These will be intepreted by the
// container as navigational parameters as the names match the names of
// the declared parameters.
actionResponse.setRenderParameter(PARAMETER1, param1);
actionResponse.setRenderParameter(PARAMETER2, param2);
actionResponse.setRenderParameter(PARAMETER3, param3);
}I mean, how to replace setRenderParameter to achieve the same thing inside a JSF binding bean for example. Is it possible via the PortletContext?
Thanks in advance for any hint.
Jean-Philippe -
Passing multiple parameters between two report portlets on the same page
Hi,
I want to pass multiple parameters between two report portlets on the same page.
I have been succussful passing a single parameter between two portlets. The
following are the steps :
(1) Created first report based on the query
SELECT htf.anchor('http://192.168.0.84:7778/servlet/page?&_pageid=97&_dad=portal30&_schema=portal30&_mode=3&dept_code='||DEPTNO,DEPTNO) Department, ename FROM EMP;
(2) Created 2nd report
select * from EMP where DEPTNO = :dept_code
(3) Added pl/sql code before display page on the 2nd report
portal30.wwv_name_value.replace_value(
l_arg_names, l_arg_values,
p_reference_path||'.dept_code',portal30.wwv_standard_util.string_to_table2(nvl(g
et_value('dept_code'),10)));
(4) Created a page and added these reports as portlets.
Sofar it works fine for one parameter (deptno) . Now I want to add one more
parameter say empno to my first report query and would like to pass both the
parameters deptno and empno to the 2nd report. Please tell me how to pass multiple parameters ?
Thanks
AsimHi,
You will have to do the same thing
The select will be like this
SELECT htf.anchor('http://toolsweb.us.oracle.com:2000/servlet/page?_pageid=97&_dad=mb&_schema=mybugs&_mode=3&dept_code='||DEPTNO||'&empno='||empno,DEPTNO) Department,ename
FROM EMP
In the additional plsql code do the same for empno like this
mybugs.wwv_name_value.replace_value(l_arg_names,l_arg_values, p_reference_path||'.dept_code',mybugs.wwv_standard_util.string_to_table2(nvl(get_value('dept_code'),10)));
mybugs.wwv_name_value.replace_value(l_arg_names,l_arg_values, p_reference_path||'.empno',mybugs.wwv_standard_util.string_to_table2(get_value('empno')));
Thanks,
Sharmila -
Passing parameters from portlet reports to portlet forms
Hi,
I'm tring to pass parameters between a Report displayed as a portlet in a page ( page 1) and a form displayed in other page ( page 2).
The problem is i can't do this.
I only can pass parameters from a report ( running as normal or in a portlet displayed in a page) to a form running "normal" by using application links. Can i do this between a report that show's me every employees of scott.emp table. Then when i click on each employee, it open's me another page with the portlet form of the specified employee.
I'm not sure i made myself clear. Please send me some feedback.
PedroI have the same problem. Please let me know if this could be done.
In particular my form is a type of "Form on Table/View."
Thanks
Henry -
Sharing jsp between multiple controllers
Is there a way to share a jsp between 2 different controllers?
If I put the shared jsp in its own directory and the 2 controllers in their own directories - I seem to be able to use netui:anchors and specifying the fully qualified "href" attribute - but not the "action" attribute. For example this works (but means I have to specify the exact controller):
<netui:anchor href="/portlets/Controller1/findAction.do">
find
</netui:anchor>This does <b>not </b>work:
<netui:anchor action="findAction">
find
</netui:anchor>Additionally, if I want a form to be on this shared jsp - I don't know of a way to use the netui tags to accomplish this... This example results in an error (as if it's trying to find the action in Global.app):
<netui:form action="submitSharedForm">
<table>
<tr valign="top">
<td>Foo:</td>
<td>
<netui:textBox dataSource="{actionForm.foo}"/>
</td>
</tr>
</table>
<netui:button value="submitSharedForm" type="submit"/>
</netui:form>Are there other better techniques for sharing jsps between multiple controllers (jpf)? The only other thing I was thinking of trying to have a jsp found within the same directory as the controller include the shared jsp (which seems kind of tacky)...You may consider using a base pageflow controller that has the common JSPs
in its directory. I have done that before like this:
// inheritLocalPaths=true lets us inherit the JSPs from the base pageflow
@Jpf.Controller(
inheritLocalPaths=true
public class MyChildController extends MyBaseController
Ture Hoefner
WebLogic Portal Engineering
<Tim Rafert> wrote in message news:[email protected]..
Is there a way to share a jsp between 2 different controllers?
If I put the shared jsp in its own directory and the 2 controllers in
their own directories - I seem to be able to use netui:anchors and
specifying the fully qualified "href" attribute - but not the "action"
attribute. For example this works (but means I have to specify the exact
controller):
<netui:anchor href="/portlets/Controller1/findAction.do">
find
</netui:anchor>This does <b>not </b>work:
<netui:anchor action="findAction">
find
</netui:anchor>Additionally, if I want a form to be on this shared jsp - I don't know of
a way to use the netui tags to accomplish this... This example results in
an error (as if it's trying to find the action in Global.app):
<netui:form action="submitSharedForm">
<table>
<tr valign="top">
<td>Foo:</td>
<td>
<netui:textBox dataSource="{actionForm.foo}"/>
</td>
</tr>
</table>
> <netui:button value="submitSharedForm" type="submit"/>
</netui:form>Are there other better techniques for sharing jsps between multiple
controllers (jpf)? The only other thing I was thinking of trying to have
a jsp found within the same directory as the controller include the shared
jsp (which seems kind of tacky)... -
Hello there - how can I share my iTunes library between two users on the same computer? I put the library in a shared folder between both and have selected this library on both as well, but when I update iTunes with music etc it only appears on one?
Thank you Joe - I tried this but it's only showing a teensy amount of music - the stuff on the second users account as opposed to the giagntic library on the 'main' account. I actually went to a Genius Bar and they said that apple doesn't really want you to share music between accounts - parents don't want to hear their kids music etc. Which seemed strange, but it might be the case sadly Thanks anyway!
-
Sharing files between users and macs
My husband and I share an iMac. I have a MBA for traveling and my husband a PC laptop (though he rarely uses for private stuff). We both have iPhones.
We are looking for a way to:
- Share our photos (we don't use iPhoto) and some files. We would like to have this in one shared folder, that we can access from both accounts in the iMac, the MBA and ideally (though not a must) the PC and iPhones. We would both need to have admin rights to edit documents, etc.
- Have access to all the information in my account on the iMac from the MBA. Ideally, same thing for his and the PC.
- Have access to all the data remotely when traveling.
- Have all the data backed up locally (we already have a cloud backup, but we'd like to have a local backup too as it's easier and quicker to access)
We have read a lot about configuration, NAS, time capsule... but we get more and more confused, as we are obviously no tech experts.
Dropbox is not our preferred choice. We already have a cloud backup system. We'd rather have the files stored and accessed locally for everyday use.
Using a NAS to store shared folders and backup the rest sounds good, but they either seem very complicated to set up, or they have mixed reviews in terms of stability, especially to access files remotely.
Timecapsule seems easier and more straightforward, but I'm not sure it would solve the "sharing files between users and macs with admin rights"? It seems to be more focused on backing up the main drive and then providing access to the backed up files. (Though I might be completely mistaken!)
We just can't manage to have one shared folder between both accounts in the iMac. We need to grant admin rights document by document. We don't manage to make it work automatically so we both have one folder to access with full rights for all the contents inside it. And this seems to me like something that should easily be done...?
Any help, advice, proposals... would be greatly appreciated!!!Move any file you want to the other user to access to the Shared Folder. Anything you put in that folder is available to all users.
The shared folder is here:
Macintosh HD > Users > Shared -
Sharing information between tiled view and view bean
I have come across one more problem. I have a search result
page. This search result page has a static text field and a repeated group
(I simplified the page description, for explanation purpose). In the NetD
implementation they are maintaining a page level attribute (say boolean
haveSenisitiveCustomers) and setting this attribute in the
afterDataObjectExecute event. (This data object is associated with the
repeated). In end display event of static text field, they are displaying
message say " due to Registration type, not all customers meeting the
criteria are listed") if the haveSensitiveCustomers flag is set.
After Migration, the boolean flag and static Text Field movedto
SearchResultViewBean and afterDataObjectExecuteEvent has moved to
TiledViewBean. Actual processing done is more complicated than this
explanation. However, it boils down to sharing information between
tiledViewBean and its parent bean. How do we achieve this in the Migrated
Application?
One way is to add getter methods in the child tiled view bean( to
access in parent view bean, call getRepeated1 and cast to the actual type
and invoke the get methods)Probably the typical solution (I say typical because I don't yet know) will
be to do what you suggest: provide methods between views that can be used to
determine the state needed for processing like this.
However, let me alert you to something that's different than ND, and which
may cause you some trouble. In ND, all retrieving DataObjects associated
with a page executed at one time, and the afterDataObjectExcecuteEvent fired
before any display processing began. However, in JATO, tiled views are
independent objects, and any models associated with them only execute when
the tiled view is first displayed.
Therefore, if the static test field you refer to appears in the page before
the tiled view, then the tiled view will not have executed its associated
model before the static text field is rendered. You will never see the
static text field display the text you want because you won't have the
information at display time. (If the text field appears after the repeated,
then it's not problem, as the display of the tiled view will have executed
the associate model before the field displays.)
The solution is to manually reference the tiled view and its associate model
before they would normally execute. You would execute the model and set the
tiled view's setAutoRetrieveEnabled() to false to prevent it from executing
the model a second time. Perhaps the easiest thing to do would be this:
beforeStaticTextDisplay(...)
// Force the tiled view to execute the associated model
Repeated1TiledView tiledView=
(Repeated1TiledView)getChild("Repeated1");
tiledView.beginDisplay();
tiledView.setAutoRetrieveEnabled(false);
Although the beginDisplay() method will be executed twice in this case (once
deliberately, above, and later during actual display), there should be no
overhead. The beginDisplay() method doesn't do anything anyway except
execute associated auto-retrieving models and fire the
afterAllModelsExecute() event.
Mike, do you concur or have any comments?
This explanation rests on the understanding of a number of other subjects,
some of which you may not be fully familiar with. Feel free to ask further
questions about this explanation.
Todd
Todd Fast
Senior Engineer
Sun/Netscape Alliance
todd.fast@e...I have come across one more problem. I have a search result
page. This search result page has a static text field and a repeated group
(I simplified the page description, for explanation purpose). In the NetD
implementation they are maintaining a page level attribute (say boolean
haveSenisitiveCustomers) and setting this attribute in the
afterDataObjectExecute event. (This data object is associated with the
repeated). In end display event of static text field, they are displaying
message say " due to Registration type, not all customers meeting the
criteria are listed") if the haveSensitiveCustomers flag is set.
After Migration, the boolean flag and static Text Field movedto
SearchResultViewBean and afterDataObjectExecuteEvent has moved to
TiledViewBean. Actual processing done is more complicated than this
explanation. However, it boils down to sharing information between
tiledViewBean and its parent bean. How do we achieve this in the Migrated
Application?
One way is to add getter methods in the child tiled view bean( to
access in parent view bean, call getRepeated1 and cast to the actual type
and invoke the get methods)Probably the typical solution (I say typical because I don't yet know) will
be to do what you suggest: provide methods between views that can be used to
determine the state needed for processing like this.
However, let me alert you to something that's different than ND, and which
may cause you some trouble. In ND, all retrieving DataObjects associated
with a page executed at one time, and the afterDataObjectExcecuteEvent fired
before any display processing began. However, in JATO, tiled views are
independent objects, and any models associated with them only execute when
the tiled view is first displayed.
Therefore, if the static test field you refer to appears in the page before
the tiled view, then the tiled view will not have executed its associated
model before the static text field is rendered. You will never see the
static text field display the text you want because you won't have the
information at display time. (If the text field appears after the repeated,
then it's not problem, as the display of the tiled view will have executed
the associate model before the field displays.)
The solution is to manually reference the tiled view and its associate model
before they would normally execute. You would execute the model and set the
tiled view's setAutoRetrieveEnabled() to false to prevent it from executing
the model a second time. Perhaps the easiest thing to do would be this:
beforeStaticTextDisplay(...)
// Force the tiled view to execute the associated model
Repeated1TiledView tiledView=
(Repeated1TiledView)getChild("Repeated1");
tiledView.beginDisplay();
tiledView.setAutoRetrieveEnabled(false);
Although the beginDisplay() method will be executed twice in this case (once
deliberately, above, and later during actual display), there should be no
overhead. The beginDisplay() method doesn't do anything anyway except
execute associated auto-retrieving models and fire the
afterAllModelsExecute() event.
Mike, do you concur or have any comments?
This explanation rests on the understanding of a number of other subjects,
some of which you may not be fully familiar with. Feel free to ask further
questions about this explanation.
Todd
Todd Fast
Senior Engineer
Sun/Netscape Alliance
todd.fast@e... -
Sharing photos between multiple users on one Mac
I'm trying to figure out how to easily share photos imported in by one user to other users in my family on my mac. I'm assuming we don't have to import them multiple times. It seems cumbersome to this new mac user to share them. I find the issue with iTunes. Any help?
HI Darien,
Here are all the links I have for the different kinds of sharing:
SHARING IPHOTO LIBRARIES
Sharing libraries between users on the same local network
You can also share a library on the same machine between users the same way.
Sharing libraries between users on the same machine...
-both users must have sharing enabled in their iPhoto Preferences
-both users must be logged in and have iPhoto running
-Remember that you can only view the other library. You can't edit the photos or play the saved slideshows or view the made books or burn them to CD or DVD. The books and slideshows will show up as an album. You can play that album as an "on the fly" slideshow. You can drag images from the sharing library to your library in the source column to import them to your library. You can then edit, add to albums, books, slideshow, etc.
Sharing links from Apple....
Sharing your photos between computers
About shared photos
Turning off photo sharing
Looking for shared photos
SHARING ONE IPHOTO LIBRARY BETWEEN USERS ON SAME MACHINE
You can try one of these three methods:
1- Use iPhoto Library Manager-the paid version
The documentation page will give instructions on how it is done.
2- Sharing one iPhoto library between several users on one machine
3- Share an iPhoto Library in tiger Using ACL's
4- I have also read about ShareAlike
There is no other info on the site about how it works.
I strongly urge anyone wanting to try any of the methods for sharing one iPhoto Library folder among more than one user to backup all iPhoto Library folders before attemptin anything. -
OBIEE 11G - Issue passing parameters between two reports
Hi folks,
I am struggling to pass parameters between two reports in OBIEE 11G.
My first report contains the following columns: Rolling Year Type (VCHAR), Year(VCHAR), Month(VCHAR), Cost(Double).
My second report contains the following columns: Rolling Year Type(VCHAR), Year(VCHAR), Month(VCHAR), Category(VCHAR), Cost(Double).
My requirement is to pass the Rolling Year Type, Year and Month values from report 1 to report 2.
On the Month column properties of report 1, I have created an Action Link called 'Drill to Category'. I have clicked on 'Navigate to BI Content' and selected Report 2.
Then on Report 2, I have included three filters: Rolling Year Type is prompted, Year is prompted, Month is promted.
When I run the report I always get the following error:
The specified criteria didn't result in any data. This is often caused by applying filters and/or selections that are too restrictive or that contain incorrect values. Please check your Analysis Filters and try again. The filters currently being applied are shown below.
When I check the cursor cache, the filter values are correct. Does anybody have any idea why Report 2 does not display?
When I remove the Month filter, the report works correctly.
I have since changed the third filter to be Month No and although Report 2 does display, it does not pick up the filter on the Month No.
I initially thought this may have been a caching issue and so I have disabled BI Server Cache but this does not fix my problem.
This was never an issue on OBIEE 10G as I found it very easy to navigate between two requests.
Has anyone else experienced problems with passing parameters between two request in 11G?
Any help appreciated.
Thanks
GavinHi,
I once tried this kind of requirement(with dashboard prompts though) and hit at similar issue. I later found out that the problem is with the space in the parameter values. Can you please let me know, if the same is the case with you?
Suppose the parameter passed is "Jan 2010", but the report on the destination takes the value as "Jan" & "2010". Yes, it kind of split the parameter value to two based on space. I think we can notice the filters the destination report got, by enabling filter view.
In this case, since you pass only value at a time, could you try placing the parameter value anyway in double quotes? I think the Server then will understand it as one value.
Thank you,
Dhar -
Passing parameters between views in different Web Dynpro applications
Hi everyone,
I would like to pass the value of one parameter between one view in a webdynpro application and another view that is in other webdynpro application. How can I do this in a secure way?Hi,
Check below links for passing parameters between two applications:
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b083f76a-708c-2b10-559b-e07c36dc5440
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/91b6ad90-0201-0010-efa3-9626d2685b6e
Re: Pass parameters via POST in WDPortalNavigation.navigateAbsolute method
Regards,
Anagha
Maybe you are looking for
-
Pages 5.2 does not open Pages 2.0 files
Just started using Pages in the last several months. The version of pages I had/have is 2.02. I created several documents and saved them with this version. Yesterday I down loaded Pages 5.2. This version indicates that the files I just created last w
-
ERROR MESSAGE WHEN TRY TO LOG IN APPLE ACCOUNT
Cannot sign in to my apple id in I tunes accounty, keep getting all kind of error messages!!!!!!!! HELP!!
-
I have an editable pdf (created using Acrobat 9).Is it possible to lock an editable pdf using Reader, but then unlock the same pdf (in Reader) at some stage in the future? The users of this pdf will only have Reader available to them. Once the edit
-
Heat issue with airport extreme
The top gets hot but the sides stay only warm. The temperature on the top is around 110 F. The unit works very well and I have had no problem with it.I'm worried the high operating temperature will shorten its life.
-
I know about standard tools for capturing screenshots of: • whole screen • a given window • a given selected area drawn with the mouse But oftentimes I have a window that has content outside the visible area - where I'd have to scroll