more specifically...
RequestHandler.java
after line 608
add:
req.setAttribute("_NEXT_PAGE", nextPage);

----- Original Message ----
From: Chris Howe <[EMAIL PROTECTED]>
To: dev@ofbiz.apache.org
Sent: Monday, December 17, 2007 6:44:43 PM
Subject: Re: mainDecoratorLocation was Include of controllers


It's already in the controller.

    <view-map name="main" type="screen"
 page="component://content/widget/CommonScreens.xml#main"/>
You need to update the servlet that when it reads where to go, that it
 puts that value of page into the context.  Then your decorator can pull
 it out.

----- Original Message ----
From: BJ Freeman <[EMAIL PROTECTED]>
To: dev@ofbiz.apache.org
Sent: Monday, December 17, 2007 6:39:46 PM
Subject: Re: mainDecoratorLocation was Include of controllers


ah gee just found a flaw
the <viewmap>@page value into the context
does that go into the products or application controller.
will that create a backward compatibility problem?



Chris Howe sent the following on 12/17/2007 4:28 PM:
> sorry, that should be page.startsWith("component://...")
> ----- Original Message ----
> From: Chris Howe <[EMAIL PROTECTED]>
> To: dev@ofbiz.apache.org
> Sent: Monday, December 17, 2007 6:16:14 PM
> Subject: Re: mainDecoratorLocation was Include of controllers
> 
> 
> You'll need to get put the <viewmap>@page value into the context and
>  run a script in your main-decorator to determine the correct values
> 
> if (page.like("component://partymgr")
> applicationMenuName = "Party";
> elseif(page.like("component://product")
> applicationMenuName="Product";
> etc
> parameters.put("applicationMenuName", applicationMenuName);
> 
> then in your main-decorator, instead of having 
> <set field="applicationMenuName" value="SetupMainMenu"
 global="true"/>
> you will have
> <set field="applicationMenuName"
>  vlaue="${parameters.applicationMenuName}"/>
> etc
> 
> ----- Original Message ----
> From: BJ Freeman <[EMAIL PROTECTED]>
> To: dev@ofbiz.apache.org
> Sent: Monday, December 17, 2007 6:07:08 PM
> Subject: Re: mainDecoratorLocation was Include of controllers
> 
> 
> here is an exmple
> <set field="applicationMenuName" value="SetupMainMenu"
 global="true"/>
> <set field="applicationMenuLocation"
> Value="component://setup/widget/setup/MainSetupMenus.xml"
>  global="true"/>
> 
> now I can only setup that up for one menu
> so how do I set that up for each menu for each app?
> 
> BJ Freeman sent the following on 12/17/2007 3:59 PM:
>> Oh.. well I did.
>> and got all sorts of errors because I has not included what that
>> application expected for its decorator.
>>
>> and I could not find a way to use the app specific information for
>  each
>> app in my main-decorator.
>>
>> which started me down the road to app-mainDecoratorLocation
>>
>> Chris Howe sent the following on 12/17/2007 3:50 PM:
>>> Woops...pressed the send button by mistake.
>>>
>>> Make your own decorator in /myapp/widget/CommonScreens.xml
>>>
>>> create a main-decorator and a global decorator and use modify to
>  your heart's content
>>> ----- Original Message ----
>>> From: BJ Freeman <[EMAIL PROTECTED]>
>>> To: dev@ofbiz.apache.org
>>> Sent: Monday, December 17, 2007 5:33:01 PM
>>> Subject: Re: mainDecoratorLocation was Include of controllers
>>>
>>>
>>> so what is the approach that  works?
>>>
>>>
>>> Chris Howe sent the following on 12/17/2007 3:26 PM:
>>>> That's what I wasn't understanding.  Your approach fails with that
>>>  problem.  The approach others have been using for the last two
>  years does
>>>  not.  I thought you were asserting that both approaches fail.
>>>> ----- Original Message ----
>>>> From: BJ Freeman <[EMAIL PROTECTED]>
>>>> To: dev@ofbiz.apache.org
>>>> Sent: Monday, December 17, 2007 5:21:55 PM
>>>> Subject: Re: mainDecoratorLocation was Include of controllers
>>>>
>>>>
>>>> been through this umteem times.
>>>> sigh
>>>> this is not the case for ftl files only widgets.
>>>>
>>>> I access a screen widget in x-app from my custom app.
>>>> that screen has a decorator which eventually looks up
>>>> mainDecoratorLocation to get the main-decorator
>>>>
>>>> so we are back to defining the mainDecoratorLocation.
>>>> I can only define one mainDecoratorLocation in my web.xml
>>>> so if I call another screen widget in y-app the information for
 the
>>>> x-app main-decorator will be passed causing other problems.
>>>>
>>>> So there is no way a mainDecoratorLocation can be globally
 declared
>>>  to
>>>> use more than one application screen widgets from the custom app
>>>> So there is no use for using the mainDecoratorLocation outside
 that
>>>  app
>>>> Chris Howe sent the following on 12/17/2007 3:11 PM:
>>>>> I'm not sure I understand what you mean by access multiple apps
>  from
>>>>  a custom app.  When you have a custom app, there is no notion
 that
>>>>  included screens, called screens, included controllers, etc have
 a
>>>  context
>>>>  of ownership.  The custom app is simply locating snippets of xml.
>>>>   Nothing more.  You can call snippets from one component or two
 or
>>>  five, it
>>>>  doesn't matter.  It only matters if you attempt to assert a
>  context
>>>  of
>>>>  ownership; that calling a controller from the party controller
 has
>>>  some
>>>>  meaning about associated party variables or contexts.
>>>>> ----- Original Message ----
>>>>> From: BJ Freeman <[EMAIL PROTECTED]>
>>>>> To: dev@ofbiz.apache.org
>>>>> Sent: Monday, December 17, 2007 4:57:18 PM
>>>>> Subject: Re: mainDecoratorLocation was Include of controllers
>>>>>
>>>>>
>>>>> good point. #1
>>>>> so I will not put this to sleep and do it for my releases until,
>  as
>>>>  you
>>>>> say it become a problem
>>>>>
>>>>> However the use of mainDecoratorLocation  beyond an app should be
>>>>> discourage for access multiple apps from a custom app as well.
>>>>> the conflict of data in each main-decorator has specific app
>>>>>  information.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Chris Howe sent the following on 12/17/2007 2:47 PM:
>>>>>> Note: I'm not saying that prefixing the variable is a bad
>  solution
>>>>>  I'm just throwing out the downsides of it
>>>>>> 1) The use case you present should not be encouraged.  The
>>>>>  opportunity for conflicting requests/views between multiple
>>>>  controllers will
>>>>>  drive you bat crazy with unexpected results.  The intent of the
>>>>  <include>
>>>>>  element is to modularize commonly used requests/views.  Throwing
>>>>>  everything in a bag and hoping you pull the expected result/view
>>>  out
>>>>  is kind
>>>>>  of dangerous.  Absent a compelling use case, movement towards an
>>>>>  external widely adopted standard, or utilizing more generic
>>>>  practices it's
>>>>>  difficult to overcome the backward compatibility issue.
>>>>>> 2) if you were to address the backward compatibility issue by
>>>  making
>>>>>  the mainDecoratorLocation the default if
>>>>  [prefix]-mainDeocratorLocation
>>>>>  were null, I believe that you would be moving away from the Java
>>>>>  Servlet spec by processing the context parameter.  I could
>>>  certainly
>>>>  be
>>>>>  wrong.  I'm no expert on such things.
>>>>>> ----- Original Message ----
>>>>>> From: BJ Freeman <[EMAIL PROTECTED]>
>>>>>> To: dev@ofbiz.apache.org
>>>>>> Sent: Monday, December 17, 2007 4:27:19 PM
>>>>>> Subject: Re: mainDecoratorLocation was Include of controllers
>>>>>>
>>>>>>
>>>>>> It seems a lot of work for simple solution
>>>>>> how about app-mainDecoratorLocation
>>>>>> then if someone want to use their own decorator it will still
>  work.
>>>>>> they just define each app-mainDecoratorLocation  in their
 web.xml
>>>>>> it either points to the original location or their customer
>>>>>  decorator.
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 







Reply via email to