ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Skip" <s...@thedevers.org>
Subject RE: Complicated Question
Date Mon, 16 Apr 2012 17:03:29 GMT
Thaks Atul, this is exactly what I needed.  I looked and looked at pages of
Google returns and could not find this.

Thanks again


-----Original Message-----
From: Atul Vani [mailto:atul.vani@hotwaxmedia.com]
Sent: Sunday, April 15, 2012 9:30 PM
To: user@ofbiz.apache.org
Subject: Re: Complicated Question

I think you're going in the wrong direction. Read this document (below),
specially the section "Extending an Existing Component".

May be all you need is to just override the webapp, not even the component.

Thanks&  Regards
Atul Vani
Enterprise Software Developer
HotWax Media Pvt. Ltd.
We are the Global Leaders in Apache OFBiz, Google 'ofbiz' and see for

On 04/13/2012 10:14 PM, Skip wrote:
> Let me restate the two problems a little more succinctly.
> Problem 1
> I want to include a controller from a hot-deploy component into an
> ofbiz controller in applications directories.  I know I can use "condition
> widget / fail-widget tags" in screen widgets, but can you use something
> similiar in a controller.xml file.  I could find no examples.
> For example, in
> ...applications/product/webapp/catalog/WEB-INF/controller.xml
>      <include
> Only, I want the location to be a variable like
> <include location="${externalLocation}"/>
> If this is possible, where can I declare "externalLocation".
> Alternately, is it possible to "inject" the hot-deploy controller into the
> first.
> Problem 2
> I want to call a service with an indeterminate attribute list.
> I think I have found the solution here.  Just set validate="false" in the
> service declaration and I can pass in whatever attributes I want from the
> form widget.
> -----Original Message-----
> From: Atul Vani [mailto:atul.vani@hotwaxmedia.com]
> Sent: Thursday, April 12, 2012 10:43 PM
> To: user@ofbiz.apache.org
> Subject: Re: Complicated Question
> Didn't get the problem completely, but still, check my comments inline.
> Thanks&   Regards
> Atul Vani
> Enterprise Software Developer
> HotWax Media Pvt. Ltd.
> http://www.hotwaxmedia.com/
> We are the Global Leaders in Apache OFBiz, Google 'ofbiz' and see for
> yourself.
> On 04/13/2012 05:55 AM, Skip wrote:
>> I am implementing Ofbiz for two sister companies, each of which sells
>> different kinds of products.  I have implemented the first company and am
>> starting on the second.  I would like to maintain just a single set of
>> source for both companies.
>> I have two components in hot-deploy that load the seed data and code
>> specific to each company. Only one or the other is included in
>> component-load.xml.
>> However, I do not want these screens from company 1 available in the
> second
>> company.  These company specific screens have to do with product
> attributes
>> for the items sold.
>> In the ordermgr order entry screen, I have have added a secondary screen
>> that allows sales people to look up products by their attributes using
>> product type specific screens.  For example, for a screw, they enter the
>> thread count, length, material, etc.  Another example would be would be a
>> tap which has fields for diameter, length, thread count, etc.
>> Other screens allow inexperienced employees to enter new products by
>> selecting product attributes from product specific dropdowns.  Using this
>> data, they can add or update products.
>> There are two problems here, the add and update actions require product
>> specific URLs which eventually end up in product specific services.
>> I would like to do two things.
>> The first is to include the controller.xml file for one or the other of
>> these two companies into the the controller.xml file for facility and
>> catalog that has these product specific URLs.  For example, in a screen
>> widget, I can do:
>> <condition>
>>     <not><if-empty field-name="findScreenName"/></not>
>> </condition>
>> <widgets>
>>    <include-screen name="${findScreenName}"/>
>> </widgets>
>> is it possible to do something like this:
>> <condition>
>>      somecondition
>> </condition>
>> <include
>> location="component://product/webapp/facility/WEB-INF/controller.xml"/>
>> or
>> <include location="${externalLocation}"/>    and specify externalLocation
> in
>> the web.xml file maybe?
> Check out the use of condition / widget / fail-widget tags.
>> Second,  I could write a single service to do these add/update services
>> there was a way to pass an arbitrary list of attributes in the context to
>> the service and not have the service engine complain that field is not
>> defined for service .
>> For example, if I have a service defined as:
>>       <service name="createInventoryProduct" engine="java" auth="true"
>> default-entity-name=""
>>               location="com.fs.inventory.InventoryServices"
>> invoke="createInventoryProduct"
>>               use-transaction="false">
>>           <description>
>>           	Create a Product, SupplierProduct, and default ProductPrice
>>           </description>
>>           <attribute name="productId" type="String" mode="INOUT"
>> optional="false"/>
>>           <attribute name="internalName" type="String" mode="IN"
>> optional="false"/>
>>           <attribute name="description" type="String" mode="IN"
>> optional="false"/>
>>           <attribute name="productType" type="String" mode="IN"
>> optional="false"/>
>>       </service>
> Use attribute(s) of type List in the service. Use 2 or more fields with
> the same name in the HTML form.
>> and I pass an attribute "color", I get an error from the service
> validation
>> code.  Is there some way to inform the service engine that the service
> could
>> have an arbitrary number of additional attributes (based on the
> productType
>> in this case) and to not throw this error?
>> Thanks in advance for your help.
>> Skip

View raw message