Hi Michael, of course you can use nested layouts:
http://portals.apache.org/jetspeed-2/guides/guide-psml.html -> Layout Fragments Regards, Joachim Michael Binette wrote: > Joachim, > > That is exactly what I did yesterday. I moved some of the functionality > into portletA and left some in portletB. My primary reason for > separating them is because of the page layouts. What I need is two > columns for two of the other portlets on the page so that doesn't leave > much room for information in each portlet. I'm still interested in the > best solution to my original problem though. > > What would be really nice is if I could layout the top half of my page > as two columns and the bottom half of the page as one column. Is that > possible? > > -- > Michael Binette > > Joachim Müller wrote: >> Hi Michael. >> >> Maybe you should think (pragmatically) about combining portlet_A and >> portlet_B into one portlet. (I would always combine functionality that >> belongs together into one portlet.) >> >> Of course I do not know about your setup, especially if you use >> portlet_B somewhere else without portlet_A. >> >> >> Regards, >> Joachim >> >> Michael Binette wrote: >> >>> Aaron, >>> >>> I agree that your method is good and what I planned on doing >>> initially. My problem is that portletB needs its ProcessAction called >>> so that the >>> proper portlet mode and window state can be set for the portlet. I >>> can't do that from the doView method. We use portletB to show a "quick >>> view" of the data. When they edit or add the portlet is maximized so >>> that all of the information can be seen and edited. >>> -- >>> Thanks, >>> Michael Binette >>> >>> Aaron Evans wrote: >>> >>>> On 3/12/07, Enrique Perez <[EMAIL PROTECTED]> wrote: >>>> >>>>> I think you can create an action URL in *portletB* (with the method >>>>> "createActionURL" in the "RenderResponse" object). Set the parameters >>>>> you want for this portlet when it'd be invoked (portlet mode and >>>>> window >>>>> state): >>>>> >>>>> PortletURL portletB_URL = response.createActionURL(); >>>>> portletB_URL.setPortletMode(PortletMode.EDIT); >>>>> portletB_URL.setWindowState(WindowState.NORMAL); >>>>> ... >>>>> >>>>> and then propagate the actionURL object created to all the portlets in >>>>> the application as an attribute session (with APPLICATION_SCOPE): >>>>> >>>>> request.getPortletSession().setAttribute("portletB_URL", >>>>> portletB_URL, PortletSession.APPLICATION_SCOPE); >>>>> >>>>> Once you have done this, you can retrieve the portletB_URL object from >>>>> *portletA*: >>>>> >>>>> PortletURL portletB_URL = (PortletURL) >>>>> request.getPortletSession().getAttribute("portletB_URL", >>>>> PortletSession.APPLICATION_SCOPE); >>>>> >>>>> so you can use it as target for a link or a form: >>>>> >>>>> <FORM ACTION=\""+portletB_URL.toString()+"\" METHOD=\"post\"> >>>>> >>>>> I've never checked this code but I think it might work... =D >>>>> Hope that helps. >>>>> >>>> I'm not sure, but I don't think that portlet URLs (especially action >>>> URLs) are meant to be used in this manner (ie. shared amongst >>>> portlets). If this does indeed work, I would think you would be >>>> exploiting something specific to the Jetspeed implementation. If I am >>>> wrong, someone please correct me. >>>> >>>> What I would think you would do instead is this: >>>> 1. In portlet A, you display an ACTION url, say called "show add". >>>> 2. In processAction for portlet A, you set a portlet session attribute >>>> that is PORTLET_APPLICATION in scope, perhaps called "SHOW_ADD" and >>>> set it to true. >>>> 3. in doView for portlet B, you are always check to see if there is a >>>> portlet session attribute called "SHOW_ADD". If true, then you >>>> display the add interface. >>>> >>>> The action phase for the invoked URL is always processed before the >>>> render of any portlets on the page, so your session attribute will be >>>> guaranteed to have a value when portlet B checks for it. >>>> >>>> -aaron >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
