You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Jacques Le Roux (JIRA)" <ji...@apache.org> on 2016/06/21 04:45:58 UTC

[jira] [Comment Edited] (OFBIZ-7061) Autocompletion for Compound Widget

    [ https://issues.apache.org/jira/browse/OFBIZ-7061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15308090#comment-15308090 ] 

Jacques Le Roux edited comment on OFBIZ-7061 at 6/21/16 4:44 AM:
-----------------------------------------------------------------

Thanks James,

Your patch is in trunk at r1746302

Good work (but the tabs ;)), I simply replaced tabs by spaces in Java files and removed this commented out line
{code}
  <compound-widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/compound-widgets.xsd">
  {code}
in ExampleCompoundWidgets.xml

I mentionned that we decided to duplicate the simple-methods.xsd rather than updating all concerned files. Else we would have to update the attributes at document level for rest of the controllers, menus, forms, simple methods and screens. For example, in controller.xml, we would have to change
{code}
  xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd"
  {code}
to
{code}
  xmlns="http://ofbiz.apache.org/sc" xsi:schemaLocation="http://ofbiz.apache.org/dtds/site-conf-ns.xsd">
  {code}
But especially we would have to use the same syntax with namespaces prefixes than in ExampleCompoundWidgets.xml (see example above). This can be discussed because with auto-completion it's not a big deal, but could be overwhelming for existing custom projects...




was (Author: jacques.le.roux):
Thanks James,

Your patch is in trunk at r1746302

Good work (but the tabs ;)), I simply replaced tabs by spaces in Java files and removed this commented out line
{code}
  <compound-widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/compound-widgets.xsd">
  {code}
in ExampleCompoundWidgets.xml

I mentionned that we decided to duplicate the simple-methods.xsd rather than updating all concerned files. Else we would have to update the attributes at document level for rest of the controllers, menus, forms, simple methods and screens. For example, in controller.xml, we would have to change
{code}
  xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd�
  {code}
to
{code}
  xmlns="http://ofbiz.apache.org/sc� xsi:schemaLocation="http://ofbiz.apache.org/dtds/site-conf-ns.xsd�>
  {code}
But especially we would have to use the same syntax with namespaces prefixes than in ExampleCompoundWidgets.xml (see example above). This can be discussed because with auto-completion it's not a big deal, but could be overwhelming for existing custom projects...



> Autocompletion for Compound Widget
> ----------------------------------
>
>                 Key: OFBIZ-7061
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7061
>             Project: OFBiz
>          Issue Type: Improvement
>          Components: framework
>    Affects Versions: Trunk
>            Reporter: james yong
>            Assignee: Jacques Le Roux
>            Priority: Minor
>             Fix For: Upcoming Branch
>
>         Attachments: OFBIZ-7061.patch, OFBIZ-7061.patch, OFBIZ-7061.patch
>
>
> I am trying to enable auto-completion when coding compound widget.
> My plan as follows:
> 1. The following xsd will be modified to use namespace
> site-conf.xsd
> widget-form.xsd
> widget-screen.xsd
> widget-menu.xsd
> simple-methods.xsd
> For example, in site-conf.xsd, we add the following document level attribute
> {code}
> xmlns="http://ofbiz.apache.org/sc" targetNamespace="http://ofbiz.apache.org/sc"
> {code}
> 2. Import the above schema into compound-widgets.xsd so that compound widgets use only one consolidated schema. 
> 3. Update ExampleCompoundWidgets.xml to use the new compound-widgets.xsd. For example
> {code}
> <compound-widgets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
>         xmlns:sc="http://ofbiz.apache.org/sc"
>         xmlns:m="http://ofbiz.apache.org/m"
>         xmlns:s="http://ofbiz.apache.org/s"
>         xmlns:f="http://ofbiz.apache.org/f"
>         xmlns:sm="http://ofbiz.apache.org/sm"
>         xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/compound-widgets.xsd">
>     <site-conf>
>         <sc:request-map uri="CompoundWidgets1">
>             <sc:security https="true" auth="true"/>
>             <sc:event type="simple" invoke="CompoundWidgetsFunc" path="component://example/widget/example/ExampleCompoundWidgets.xml"/>
>             <sc:response name="success" type="view" value="CompoundWidgets1"/>
>         </sc:request-map>
>         <sc:request-map uri="CompoundWidgets2"><sc:security https="true" auth="true"/><sc:response name="success" type="view" value="CompoundWidgets2"/></sc:request-map>
>         
>         <sc:view-map name="CompoundWidgets1" type="screen" page="component://example/widget/example/ExampleCompoundWidgets.xml#CompoundWidgets1"/>
>         <sc:view-map name="CompoundWidgets2" type="screen" page="component://example/widget/example/ExampleCompoundWidgets.xml#CompoundWidgets2"/>
>     </site-conf>
> ...... the rest
> {code}
> 4. Change java code to support reading xml with namespace (i.e. xml for compound widgets)
> 5. Update the attributes at document level for rest of the controllers, menus, forms, simple methods and screens. Current setting will not work for schema with a namespace. For example, in controller.xml, we will change 
> {code}
> xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/site-conf.xsd”
> {code} 
> to 
> {code}
> xmlns="http://ofbiz.apache.org/sc” xsi:schemaLocation="http://ofbiz.apache.org/dtds/site-conf-ns.xsd”>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)