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

Skip

-----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".
https://cwiki.apache.org/OFBIZ/addressing-custom-requirements-in-ofbiz.html

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.
http://www.hotwaxmedia.com/
We are the Global Leaders in Apache OFBiz, Google 'ofbiz' and see for
yourself.


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
existing
> 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
>
location="component://company1/webapp/common/WEB-INF/common-controller.xml"/
> 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
if
>> 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
>>


Mime
View raw message