Jacques,

Could it also be so that current way of retrieving the appropriate help
file (in accordance with the language of the user) is flawed somewhere?
Specifically when there is a file for locale="en" and the user has "en_US"?

With kind regards,

Pierre Smits

*ORRTIZ.COM <http://www.orrtiz.com>*
Services & Solutions for Cloud-
Based Manufacturing, Professional
Services and Retail & Trade
http://www.orrtiz.com


On Sat, Sep 14, 2013 at 1:40 PM, Jacques Le Roux <
jacques.le.r...@les7arts.com> wrote:

> Mmm, let's clarify further, it's about conventions here.
>
> Because the names used to retrieve the help files are in contents records
> of *HelpData.xml files, see notably the mapKey attributes which relate
> requests to HELP_*.xml filenames.
> So you can use there either the component name or the webapps names since
> the mapping done with contents records is open. It's what is currently
> done, which leads to confusion.
>
> I agree, using the webapp names makes more sense. So we should follow this
> convention and change the mappings in *HelpData.xml files and the
> HELP_*.xml filenames when needed.
>
> If I did not miss anything, putting
> context.put("webappName", context.put("webappName",
> session.getAttribute("_WEBAPP_NAME_")));in ScreenRenderer.java
> and using
> <set field="helpTopic" value="${groovy: webappName. + '_' +
> requestAttributes._CURRENT_VIEW_}"/>
> in CommonScreens.xml, will be enough on Framework side.
>
> I will open a Jira...
>
> Jacques
> PS: note for myself: add webbappName in wiki page on parameters
>
> Pierre @GMail wrote:
> > Thanks for the clarification, Jacques. Co
> >
> > Sent from my iPhone
> >
> > On 13 sep. 2013, at 23:49, Jacques Le Roux <jacques.le.r...@les7arts.com>
> wrote:
> >
> >> Hi Pierre,
> >>
> >> The same reason that made me pick the (possibly overriden) component
> name. Jacopo also suggested the webapp name (we miss a part
> >> of the thread here, refer to it if needed)
> >> But that's not how the HELP is coded at the moment. It uses the
> component name.
> >>
> >> Also to use _WEBAPP_NAME_ (note the _ at end), since it's not in
> parameters but is a session attribute, we would also need to
> >> put it in context in ScreenRenderer.java using something like
> context.put("webappName", session.getAttribute("_WEBAPP_NAME_")
> >> or
> >> context.put("webappName", UtilHttp.getApplicationName(request))
> >> I don't see a plus compared to my solution.
> >>
> >> The only drawback of my solution is that the localDispatcherName *MUST*
> be named after the component name.
> >> But it's the case for all webapps so far. And I don't see a need to
> change this (very useful) convention.
> >>
> >> Disclaimer: I did not look yet at how the helpTopic var is used to
> render the help, just followed the trend. Maybe using the
> >> webapp is possible...
> >>
> >> Jacques
> >>
> >> Pierre Smits wrote:
> >>> Hi Jacques,
> >>>
> >>> Why not use the  '_WEBAPP_NAME'  variable. That is already available
> in the
> >>> parameter list. You could even avoid transforming it to upper case. A
> one
> >>> time conversion of the data to the appropriate case would then align
> the
> >>> data.
> >>>
> >>> Regards,
> >>>
> >>> Pierre Smits
> >>>
> >>> *ORRTIZ.COM <http://www.orrtiz.com>*
> >>> Services & Solutions for Cloud-
> >>> Based Manufacturing, Professional
> >>> Services and Retail & Trade
> >>> http://www.orrtiz.com
> >>>
> >>>
> >>> On Fri, Sep 13, 2013 at 12:02 PM, Jacques Le Roux <
> >>> jacques.le.r...@les7arts.com> wrote:
> >>>
> >>>> Jacopo Cappellato wrote:
> >>>>> is a general issue caused by a wrong design in the generation of help
> >>>> links; specifically, the issue is that in
> >>>>>
> >>>>> <set field="helpTopic" value="${groovy:
> >>>> parameters.componentName.toUpperCase() + '_' +
> >>>> requestAttributes._CURRENT_VIEW_}"/>
> >>>>>
> >>>>> the name of the help file is composed using the component name; this
> is
> >>>> a wrong approach and could be solved, for instance, by
> >>>>> using  the webapp name instead of the component name;
> >>>>
> >>>> As it is now, it should not be the webapp name but the component name
> or
> >>>> the overriden component name.
> >>>>
> >>>> We could do it like this (both cases will be covered as long as the
> >>>> web.xml file of the overriding webapp is correct)
> >>>>
> >>>> Index: applications/commonext/widget/CommonScreens.xml
> >>>> ===================================================================
> >>>> --- applications/commonext/widget/CommonScreens.xml (revision 1522780)
> >>>> +++ applications/commonext/widget/CommonScreens.xml (working copy)
> >>>> @@ -45,8 +45,7 @@
> >>>>                 <set field="layoutSettings.middleTopLink2"
> >>>> value="${lastSystemInfoNote2.moreInfoUrl}${groovy: if
> >>>>
> (lastSystemInfoNote2&amp;&amp;lastSystemInfoNote2.moreInfoItemName&amp;&amp;lastSystemInfoNote2.moreInfoItemId)&quot;?&quot;
> >>>> + lastSystemInfoNote2.moreInfoItemName + &quot;=&quot; +
> >>>> lastSystemInfoNote2.moreInfoItemId + &quot;&amp;id=&quot; +
> >>>> lastSystemInfoNote2.moreInfoItemId;}"/>
> >>>>                 <set field="layoutSettings.middleTopLink3"
> >>>> value="${lastSystemInfoNote3.moreInfoUrl}${groovy: if
> >>>>
> (lastSystemInfoNote3&amp;&amp;lastSystemInfoNote3.moreInfoItemName&amp;&amp;lastSystemInfoNote3.moreInfoItemId)&quot;?&quot;
> >>>> + lastSystemInfoNote3.moreInfoItemName + &quot;=&quot; +
> >>>> lastSystemInfoNote3.moreInfoItemId + &quot;&amp;id=&quot; +
> >>>> lastSystemInfoNote3.moreInfoItemId;}"/>
> >>>>                 <!-- Help link actions -->
> >>>> -                <!--<set field="helpTopic" value="${groovy:
> webSiteId +
> >>>> '_' + requestAttributes._CURRENT_VIEW_}"/>-->
> >>>> -                <set field="helpTopic" value="${groovy:
> >>>> parameters.componentName.toUpperCase() + '_' +
> >>>> requestAttributes._CURRENT_VIEW_}"/>
> >>>> +                <set field="helpTopic" value="${groovy:
> >>>> applicationName.toUpperCase() + '_' +
> requestAttributes._CURRENT_VIEW_}"/>
> >>>>                 <entity-and list="pageAvail"
> entity-name="ContentAssoc">
> >>>>                     <field-map field-name="mapKey"
> >>>> from-field="helpTopic"/>
> >>>>                 </entity-and>
> >>>> Index:
> framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java
> >>>> ===================================================================
> >>>> --- framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java
> >>>> (revision 1522780)
> >>>> +++ framework/widget/src/org/ofbiz/widget/screen/ScreenRenderer.java
> >>>> (working copy)
> >>>> @@ -220,6 +220,8 @@
> >>>>         if (servletContext != null) {
> >>>>             String rootDir = (String) context.get("rootDir");
> >>>>             String webSiteId = (String) context.get("webSiteId");
> >>>> +            String localDispatcherName = (String)
> >>>> servletContext.getAttribute("localDispatcherName");
> >>>> +            context.put("applicationName", localDispatcherName);
> >>>>             String https = (String) context.get("https");
> >>>>             if (UtilValidate.isEmpty(rootDir)) {
> >>>>                 rootDir = servletContext.getRealPath("/");
> >>>>
> >>>> Thanks for your help Jacopo, I really went on a wrong track, my
> apologies
> >>>>
> >>>>
> >>>> Jacques
>

Reply via email to