Flavio, You did not specified if the system is intended to select an existing product from a known list of to create a custom order that should be valid. Creating a system to select a product from an existing list is easy. Having built a system to order and quote price for kitchen cabinet doors from multiple manufacturers, I can tell you the problem can be very hard for full custom ordering system.
You may check http://www.richelieu.com/ca/en/category/doors-drawers-wood-components/tailor-made-cabinet-door-drawer-fronts/1000128 to see the result. Rules engine works when the validation is rule based, sometime, rules does not exists and they may be very hard to write, especially for non tech people. If the number of possibilities is small, a exhaustive list of valid possibilities can be created, you can use an Excel file as a way to manage the list. If your configuration is use to build a sku number or if the options can be described in a similar way, you may also use a valid pattern list system. I know some people that use rule bases systems for these but the maintenance of the rules is hard, I personally never used a rules engine. The worst thing is that a valid configuration is often just the beginning, you need to put a price on it after... and maybe compute delivery costs. Samuel Le 2014-10-07 à 02:47, Pascal Robert <[email protected]> a écrit : > +1 for the rules engine. > > Another option would be to write logic as dictionaries stored and serialized > in the database. At a previous job, we had that to store logic for a survey > app (to force questions to be answered if you answered X for a previous > question, etc.) > >> Have you considered a business rules engine? Have a look at some of these >> http://java-source.net/open-source/rule-engines >> >> Would a rules engine solve your problem? >> >> Chuck >> >> >> On 2014-10-06, 1:57 PM, "Flavio Donadio" wrote: >> >> On 06/10/2014, at 16:51, Chuck Hill <[email protected]> wrote: >> >> I think Flavio’s question was more of how to model this so that the >> configurations were not hard-coded in Java. I don’t have an immediate >> answer, but it is an interesting modelling problem. >> Chuck >> >> Chuck is right. I have something more into the lines: >> >> Product <--->> ProductOption <<---> Option <--->> OptionValue >> >> ... where Option is something like "Display Type" and OptionValue is >> something like "Monochrome". And ProductOption is just a proxy table for the >> many-to-many relationship. >> >> Maybe I should have two more relationships: >> >> OptionValue <--->> OptionRequire >> OptionValue <--->> OptionExclude >> >> An AJAX interface would be preferable, so the user gets an error message >> when changing the selections, not when the application saves the context... >> >> >> Cheers, >> Flavio >> >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Webobjects-dev mailing list ([email protected]) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca >> >> This email sent to [email protected] > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/samuel%40samkar.com > > This email sent to [email protected] _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
