How to re-do a production run?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

How to re-do a production run?

jonwimp
One problem I encountered was the inability to re-run a production run.

One silly scenario I can think of is this. Say I finished production run to build a PC001 for a
customer. Then someone stole the PC from my warehouse. How would I know how to reproduce the PC001
to replace the stolen one?

Jonathon
Reply | Threaded
Open this post in threaded view
|

Re: How to re-do a production run?

Jacopo Cappellato
Jonathon,

Jonathon -- Improov wrote:
> One problem I encountered was the inability to re-run a production run.
>
> One silly scenario I can think of is this. Say I finished production run
> to build a PC001 for a customer. Then someone stole the PC from my
> warehouse. How would I know how to reproduce the PC001 to replace the
> stolen one?
>

Yes, the copy of a production run is not currently implemented (but it
should be a rather easy task, let's say 0.5 to 1 day of work, for a
developer with a good knowledge of OFBiz).
The main reason is that, usually (for non pc - type products) the
production run is quickly created from the bom and the routing (that
both represents the 'template' for the production run).
For pc-like products, the initial plan was to store the configuration
(there is already the entity for this) and then use it in the system to
do various tasks, such as:
- statistics of top sold configurations
- pre-configured items proposed to the customers
- creation of new production runs based on the configuration id (this is
what you would need here)
- planning
- bom explosions
- and, most of all, by storing the configuration there will be no need
to immediately create the production run when the order is created as is
now (having a more flexible system).

Jacopo

> Jonathon


Reply | Threaded
Open this post in threaded view
|

Re: How to re-do a production run?

jonwimp
Jacopo,

So are you planning to do the "Create multiple Production Runs for Configurable Product" feature?
If so, when? If you want me to do it, can you bring me up to speed quickly so I can put my work
back here for public audit? If I were to do it, I'd probably start with the "creation of new
production runs based on the configuration id" feature.

You mean it takes 0.5 to 1 day of work to do the above feature? Or just to do the "Copy an
existing production run" feature? The above feature doesn't seem easy.

Jonathon

Jacopo Cappellato wrote:

> Yes, the copy of a production run is not currently implemented (but it
> should be a rather easy task, let's say 0.5 to 1 day of work, for a
> developer with a good knowledge of OFBiz).
> The main reason is that, usually (for non pc - type products) the
> production run is quickly created from the bom and the routing (that
> both represents the 'template' for the production run).
> For pc-like products, the initial plan was to store the configuration
> (there is already the entity for this) and then use it in the system to
> do various tasks, such as:
> - statistics of top sold configurations
> - pre-configured items proposed to the customers
> - creation of new production runs based on the configuration id (this is
> what you would need here)
> - planning
> - bom explosions
> - and, most of all, by storing the configuration there will be no need
> to immediately create the production run when the order is created as is
> now (having a more flexible system).
>
> Jacopo
>
>> Jonathon
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: How to re-do a production run?

Jacopo Cappellato
Jonathon,

Jonathon -- Improov wrote:
> Jacopo,
>
> So are you planning to do the "Create multiple Production Runs for
> Configurable Product" feature? If so, when?

No, I'm sorry but I don't have plans about this at the moment.

> If you want me to do it, can
> you bring me up to speed quickly so I can put my work back here for
> public audit? If I were to do it, I'd probably start with the "creation
> of new production runs based on the configuration id" feature.

I'd suggest looking at the ProductConfig* classes (that handle many of
the configuration related tasks):
http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/

In particular:
http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java
is the class that represents a product configuration, so the idea is to
add a new method to it (something like store()) to store the
configuration in the db.
About the data model, here are the entities involved:
ProductConfig
ProductConfigItem
ProdConfItemContent
ProdConfItemContentType
ProductConfigOption
ProductConfigOptionIactn
ProductConfigProduct
ProductConfigConfig
ProductConfigStats

Some of them are still not used by the system; in particular,
ProductConfigConfig is the entity that should be used to store a
particular product configuration.
They are all defined here:
http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/entitydef/entitymodel.xml

If you want to see how the demo product PC001 is persisted in the db:

http://svn.apache.org/repos/asf/ofbiz/trunk/applications/ecommerce/data/DemoConfigurator.xml

The user interface to edit the above data is here:

https://demo.dejc.com:8443/catalog/control/FindProductConfigItems

During order entry, you can configure a pc both in the ecommerce and in
the order manager application (click on the "configurable pc" category
in the left-hand side and then select the PC001).

Hope this helps,

Jacopo


>
> You mean it takes 0.5 to 1 day of work to do the above feature? Or just
> to do the "Copy an existing production run" feature? The above feature
> doesn't seem easy.
>

Yes, the 1 day estimate was about the "Copy an existing production run"
feature; the other one is not so easy, even if there is already a lot of
stuff in place.

Jacopo

> Jonathon
>
> Jacopo Cappellato wrote:
>> Yes, the copy of a production run is not currently implemented (but it
>> should be a rather easy task, let's say 0.5 to 1 day of work, for a
>> developer with a good knowledge of OFBiz).
>> The main reason is that, usually (for non pc - type products) the
>> production run is quickly created from the bom and the routing (that
>> both represents the 'template' for the production run).
>> For pc-like products, the initial plan was to store the configuration
>> (there is already the entity for this) and then use it in the system
>> to do various tasks, such as:
>> - statistics of top sold configurations
>> - pre-configured items proposed to the customers
>> - creation of new production runs based on the configuration id (this
>> is what you would need here)
>> - planning
>> - bom explosions
>> - and, most of all, by storing the configuration there will be no need
>> to immediately create the production run when the order is created as
>> is now (having a more flexible system).
>>
>> Jacopo
>>
>>> Jonathon
>>
>>
>>


Reply | Threaded
Open this post in threaded view
|

Auto-generated config IDs for configurable products

jonwimp
Jacopo,

This is urgent for me. But first, thanks for your tips below.

Let me describe my requirements before suggesting a solution.

I have a product say PC001 that has probably millions of configurations. OFBiz handles that fine,
with the "Configurable Product" concept. PC001 remains a single product for easy administration,
since it's not possible to create millions of variants and corresponding product IDs.

I need some "product ID rules" to specify say unique "configuration IDs" for each configuration,
but I still want a single product ID "PC001".

For eg, a PC001 that has 2x256RAM and 1x2GB_HD may have "configuration ID" PC001-2AR-1AH, where
the 2nd code "2AR" specifies 2 pieces of 256RAM and the 3rd code "1AH" specifies 1 piece of 2GB
HD. So a PC001 that has 1x512RAM and 3x4GB_HD may have a config ID PC001-1BR-3BH. From this
example, you can deduce that 256RAM and 512RAM have codes "AR" and "BR", respectively. And 2GB HD
and 4GB HD have codes "AH" and "BH", respectively.

Entity GoodIdentification doesn't work for me (Product page -> IDs). It allows only 1 ID for each
type ISBN, Manufacturer (Model) Number, Model Year, SKU, etc.

What about Manufacturing rules (BOM -> Manufacturing Rules)? Will that work?

I think this has a lot to do with your intention to store individual configurations in the
database. Like you said, the entity model already caters for storing individual configurations
(via entity ProductConfigConfig). All we have to do now is to provide AUTOMATED rules for
generating the value for field ProductConfigConfig.configId. I believe this entity isn't used yet,
according to what you said. Right?

I HAVE to implement this right away. I'm calling for suggestions, instructions, guidelines to
direct my development so that what I do can be contributed verbatim back to the community.

Ideas?

Jonathon

Jacopo Cappellato wrote:
 > Jonathon,
 >
 > Jonathon -- Improov wrote:
 >> Jacopo,
 >>
 >> So are you planning to do the "Create multiple Production Runs for
 >> Configurable Product" feature? If so, when?
 >
 > No, I'm sorry but I don't have plans about this at the moment.
 >
 >> If you want me to do it, can you bring me up to speed quickly so I can
 >> put my work back here for public audit? If I were to do it, I'd
 >> probably start with the "creation of new production runs based on the
 >> configuration id" feature.
 >
 > I'd suggest looking at the ProductConfig* classes (that handle many of
 > the configuration related tasks):
 > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/
 >
 >
 > In particular:
 >
http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java 

 >
 > is the class that represents a product configuration, so the idea is to
 > add a new method to it (something like store()) to store the
 > configuration in the db.
 > About the data model, here are the entities involved:
 > ProductConfig
 > ProductConfigItem
 > ProdConfItemContent
 > ProdConfItemContentType
 > ProductConfigOption
 > ProductConfigOptionIactn
 > ProductConfigProduct
 > ProductConfigConfig
 > ProductConfigStats
 >
 > Some of them are still not used by the system; in particular,
 > ProductConfigConfig is the entity that should be used to store a
 > particular product configuration.
 > They are all defined here:
 > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/entitydef/entitymodel.xml
 >
 >
 > If you want to see how the demo product PC001 is persisted in the db:
 >
 > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/ecommerce/data/DemoConfigurator.xml
 >
 >
 > The user interface to edit the above data is here:
 >
 > https://demo.dejc.com:8443/catalog/control/FindProductConfigItems
 >
 > During order entry, you can configure a pc both in the ecommerce and in
 > the order manager application (click on the "configurable pc" category
 > in the left-hand side and then select the PC001).
 >
 > Hope this helps,
 >
 > Jacopo
 >
 >
 >>
 >> You mean it takes 0.5 to 1 day of work to do the above feature? Or
 >> just to do the "Copy an existing production run" feature? The above
 >> feature doesn't seem easy.
 >>
 >
 > Yes, the 1 day estimate was about the "Copy an existing production run"
 > feature; the other one is not so easy, even if there is already a lot of
 > stuff in place.
 >
 > Jacopo
 >
 >> Jonathon
 >>
 >> Jacopo Cappellato wrote:
 >>> Yes, the copy of a production run is not currently implemented (but
 >>> it should be a rather easy task, let's say 0.5 to 1 day of work, for
 >>> a developer with a good knowledge of OFBiz).
 >>> The main reason is that, usually (for non pc - type products) the
 >>> production run is quickly created from the bom and the routing (that
 >>> both represents the 'template' for the production run).
 >>> For pc-like products, the initial plan was to store the configuration
 >>> (there is already the entity for this) and then use it in the system
 >>> to do various tasks, such as:
 >>> - statistics of top sold configurations
 >>> - pre-configured items proposed to the customers
 >>> - creation of new production runs based on the configuration id (this
 >>> is what you would need here)
 >>> - planning
 >>> - bom explosions
 >>> - and, most of all, by storing the configuration there will be no
 >>> need to immediately create the production run when the order is
 >>> created as is now (having a more flexible system).
 >>>
 >>> Jacopo
 >>>
 >>>> Jonathon
 >>>
 >>>
 >>>
 >
 >
 >
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

David E Jones-2

Jonathon,

So, what about virtual/variant products like the Giant Widget? What  
is the reason those won't work?

BTW, just so you know (and this is my opinion ONLY), but the "I'll  
contribute back" argument to get people to help you out, especially  
ASAP, is pretty weak. This is nothing personal and obviously a trend  
never has anything to do with one person, but I don't think that  
anyone (in the OFBiz world anyway) who has come in, guns blazing,  
promising to help out and contribute a lot if only they can get past  
these few problems or if only someone can help them get started, has  
actually remained involved with the open source project for very  
long, let alone become regular or significant contributor. Wow, that  
turned out to be a long sentence... I'll have to keep thinking about  
how to express that better.

Anyway, people here and in most mailing lists help out to help out,  
and to generally make the software better for the next "pour soul"  
who comes along needing something similar, which may very well be the  
person trying to help answer the question! That has certainly  
happened to me a few (dozen!) times.

-David


On Jan 9, 2007, at 8:50 PM, Jonathon -- Improov wrote:

> Jacopo,
>
> This is urgent for me. But first, thanks for your tips below.
>
> Let me describe my requirements before suggesting a solution.
>
> I have a product say PC001 that has probably millions of  
> configurations. OFBiz handles that fine, with the "Configurable  
> Product" concept. PC001 remains a single product for easy  
> administration, since it's not possible to create millions of  
> variants and corresponding product IDs.
>
> I need some "product ID rules" to specify say unique "configuration  
> IDs" for each configuration, but I still want a single product ID  
> "PC001".
>
> For eg, a PC001 that has 2x256RAM and 1x2GB_HD may have  
> "configuration ID" PC001-2AR-1AH, where the 2nd code "2AR"  
> specifies 2 pieces of 256RAM and the 3rd code "1AH" specifies 1  
> piece of 2GB HD. So a PC001 that has 1x512RAM and 3x4GB_HD may have  
> a config ID PC001-1BR-3BH. From this example, you can deduce that  
> 256RAM and 512RAM have codes "AR" and "BR", respectively. And 2GB  
> HD and 4GB HD have codes "AH" and "BH", respectively.
>
> Entity GoodIdentification doesn't work for me (Product page ->  
> IDs). It allows only 1 ID for each type ISBN, Manufacturer (Model)  
> Number, Model Year, SKU, etc.
>
> What about Manufacturing rules (BOM -> Manufacturing Rules)? Will  
> that work?
>
> I think this has a lot to do with your intention to store  
> individual configurations in the database. Like you said, the  
> entity model already caters for storing individual configurations  
> (via entity ProductConfigConfig). All we have to do now is to  
> provide AUTOMATED rules for generating the value for field  
> ProductConfigConfig.configId. I believe this entity isn't used yet,  
> according to what you said. Right?
>
> I HAVE to implement this right away. I'm calling for suggestions,  
> instructions, guidelines to direct my development so that what I do  
> can be contributed verbatim back to the community.
>
> Ideas?
>
> Jonathon
>
> Jacopo Cappellato wrote:
> > Jonathon,
> >
> > Jonathon -- Improov wrote:
> >> Jacopo,
> >>
> >> So are you planning to do the "Create multiple Production Runs for
> >> Configurable Product" feature? If so, when?
> >
> > No, I'm sorry but I don't have plans about this at the moment.
> >
> >> If you want me to do it, can you bring me up to speed quickly so  
> I can
> >> put my work back here for public audit? If I were to do it, I'd
> >> probably start with the "creation of new production runs based  
> on the
> >> configuration id" feature.
> >
> > I'd suggest looking at the ProductConfig* classes (that handle  
> many of
> > the configuration related tasks):
> > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/ 
> src/org/ofbiz/product/config/
> >
> >
> > In particular:
> > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/ 
> src/org/ofbiz/product/config/ProductConfigWrapper.java
> >
> > is the class that represents a product configuration, so the idea  
> is to
> > add a new method to it (something like store()) to store the
> > configuration in the db.
> > About the data model, here are the entities involved:
> > ProductConfig
> > ProductConfigItem
> > ProdConfItemContent
> > ProdConfItemContentType
> > ProductConfigOption
> > ProductConfigOptionIactn
> > ProductConfigProduct
> > ProductConfigConfig
> > ProductConfigStats
> >
> > Some of them are still not used by the system; in particular,
> > ProductConfigConfig is the entity that should be used to store a
> > particular product configuration.
> > They are all defined here:
> > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/ 
> entitydef/entitymodel.xml
> >
> >
> > If you want to see how the demo product PC001 is persisted in the  
> db:
> >
> > http://svn.apache.org/repos/asf/ofbiz/trunk/applications/ 
> ecommerce/data/DemoConfigurator.xml
> >
> >
> > The user interface to edit the above data is here:
> >
> > https://demo.dejc.com:8443/catalog/control/FindProductConfigItems
> >
> > During order entry, you can configure a pc both in the ecommerce  
> and in
> > the order manager application (click on the "configurable pc"  
> category
> > in the left-hand side and then select the PC001).
> >
> > Hope this helps,
> >
> > Jacopo
> >
> >
> >>
> >> You mean it takes 0.5 to 1 day of work to do the above feature? Or
> >> just to do the "Copy an existing production run" feature? The above
> >> feature doesn't seem easy.
> >>
> >
> > Yes, the 1 day estimate was about the "Copy an existing  
> production run"
> > feature; the other one is not so easy, even if there is already a  
> lot of
> > stuff in place.
> >
> > Jacopo
> >
> >> Jonathon
> >>
> >> Jacopo Cappellato wrote:
> >>> Yes, the copy of a production run is not currently implemented  
> (but
> >>> it should be a rather easy task, let's say 0.5 to 1 day of  
> work, for
> >>> a developer with a good knowledge of OFBiz).
> >>> The main reason is that, usually (for non pc - type products) the
> >>> production run is quickly created from the bom and the routing  
> (that
> >>> both represents the 'template' for the production run).
> >>> For pc-like products, the initial plan was to store the  
> configuration
> >>> (there is already the entity for this) and then use it in the  
> system
> >>> to do various tasks, such as:
> >>> - statistics of top sold configurations
> >>> - pre-configured items proposed to the customers
> >>> - creation of new production runs based on the configuration id  
> (this
> >>> is what you would need here)
> >>> - planning
> >>> - bom explosions
> >>> - and, most of all, by storing the configuration there will be no
> >>> need to immediately create the production run when the order is
> >>> created as is now (having a more flexible system).
> >>>
> >>> Jacopo
> >>>
> >>>> Jonathon
> >>>
> >>>
> >>>
> >
> >
> >


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

jonwimp
David,

 > So, what about virtual/variant products like the Giant Widget? What is the
 > reason those won't work?

I have literally millions of configurations for a configurable product like PC001. I'd have
millions of variants (though just a single virtual product) to create if I go the variant way.

 > BTW, just so you know (and this is my opinion ONLY), but the "I'll contribute
 > back" argument to get people to help you out, especially ASAP, is pretty
 > weak. This is nothing personal and obviously a trend never has anything to do
 > with one person, but I don't think that anyone (in the OFBiz world anyway)
 > who has come in, guns blazing, promising to help out and contribute a lot if
 > only they can get past these few problems or if only someone can help them
 > get started, has actually remained involved with the open source project for
 > very long, let alone become regular or significant contributor. Wow, that
 > turned out to be a long sentence... I'll have to keep thinking about how to
 > express that better.

Time will tell if I'm one of those leeches. :) We (who have been playing in opensource arenas)
have all been hit by those. Sounds like you've been bitten more than twice, and I'm not surprised
if that is so.

Of course the "I'll contribute back" carrot is pretty weak. It's like saying "Gimme your money
first, I promise I'll give you your goods".

But I hope you notice clear distinctions in my behavior apart from leeches. I've already shown my
willingness to "meet the community more than halfway" (aka do my homework). I don't just ask for
help. If nobody has the info I need, I go out to trace through codes and then feedback my research
to the mailing list.

Now that you mention this "leech" issue, I guess I'll just drop certain bad "false humility"
habits. I DO unassumingly help to flesh out certain topics that have long been left undocumented
(check out the many cross-references I post to the mailing list in a bid to consolidate info).
It's not that I don't entirely know what I'm talking about (if I know anything at all, ie). It's
just a habit I have in speaking like I "don't quite know it all". It's a journalistic instinct.
Yup, I'm not from the IT industry originally (which is probably why I need so much help?).

Ultimately, I do want you and the community to know that I'm here to help and contribute. Did I
lose my senses? No. My current boss will tell you I'm an altruistic person (even towards my
boss/clients) with a strong sense fairness. Pragmatically speaking, contributing to the community
helps make future upgrades easier, helps my boss' ERP system keep in step with OFBiz enhancements
and updates.

(And I like communities. I'm a social person. I envision a time when the concept of "work" is
obsolete, where everyone just contributes for exploration and advancement, and nobody is in need
or want.)

As for this thread, I'm serious about having to implement the "rule-based config ID generation"
for Configurable Products. Don't mind telling you, it's a make or break factor. Well, of course,
if OFBiz/OpenTaps had been comprehensively documented to say there's no such feature, my boss
would've broken away from OFBiz/OT sooner. I'd guess more than a few folks had ventured into OFBiz
and been more than a bit miffed with "unfulfilled promises", probably caused by poor documentation
plus unspecified limitations. Especially if the complaint is: "I thought the paid consultants said
it's so feature-strong!". Whatever the case is, I am still STRONGLY CONVINCED that OFBiz is a
solid framework to build just about anything, even if the existing applications don't meet his
requirements (yes, he's listening in. :P).

So, again, I do need suggestions, instructions, guidelines to direct my development of this
feature. Why? Because it's in my utmost interest to have the community track this feature in the
consolidated SVN. I don't wanna create a feature that breaks existing codes.

You could say that I need the community's blessings in my development of this feature.

Jonathon
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

David E Jones-2

On Jan 9, 2007, at 10:25 PM, Jonathon -- Improov wrote:

> David,
>
> > So, what about virtual/variant products like the Giant Widget?  
> What is the
> > reason those won't work?
>
> I have literally millions of configurations for a configurable  
> product like PC001. I'd have millions of variants (though just a  
> single virtual product) to create if I go the variant way.

So, you're saying you need pre-configured, discrete products that can  
be individually inventoried? How would you avoid that? Of course, if  
there are millions of _potential_ variants, but not actual, then I'd  
say use the configurable product and add something to recognize  
matches with pre-configured variations to show shorter projected  
shipping times, or interrupt the manufacturing process, or whatever  
you need.

> > BTW, just so you know (and this is my opinion ONLY), but the  
> "I'll contribute
> > back" argument to get people to help you out, especially ASAP, is  
> pretty
> > weak. This is nothing personal and obviously a trend never has  
> anything to do
> > with one person, but I don't think that anyone (in the OFBiz  
> world anyway)
> > who has come in, guns blazing, promising to help out and  
> contribute a lot if
> > only they can get past these few problems or if only someone can  
> help them
> > get started, has actually remained involved with the open source  
> project for
> > very long, let alone become regular or significant contributor.  
> Wow, that
> > turned out to be a long sentence... I'll have to keep thinking  
> about how to
> > express that better.
>
> Time will tell if I'm one of those leeches. :)
Well, "leech" is a bit of a strong word and implies something I was  
trying to avoid. I think many people are just more optimistic than  
realistic and this sort of statement seems to correlate with that.

I'm sure this is true with open source projects, though with OFBiz  
I'd guess things can be more shocking as you can crest the first  
mountain of technical aspects of the project, and especially if  
you're approaching it from a technical background as you start  
nearing the top it's staggering to see the next range that is 20x the  
size. The same is true if you approach the range from a small  
business perspective, or that of one part of a larger business. The  
inherent complexity just sucks, and it sounds like you already know  
that.

> We (who have been playing in opensource arenas) have all been hit  
> by those. Sounds like you've been bitten more than twice, and I'm  
> not surprised if that is so.
>
> Of course the "I'll contribute back" carrot is pretty weak. It's  
> like saying "Gimme your money first, I promise I'll give you your  
> goods".
>
> But I hope you notice clear distinctions in my behavior apart from  
> leeches. I've already shown my willingness to "meet the community  
> more than halfway" (aka do my homework). I don't just ask for help.  
> If nobody has the info I need, I go out to trace through codes and  
> then feedback my research to the mailing list.
>
> Now that you mention this "leech" issue, I guess I'll just drop  
> certain bad "false humility" habits. I DO unassumingly help to  
> flesh out certain topics that have long been left undocumented  
> (check out the many cross-references I post to the mailing list in  
> a bid to consolidate info). It's not that I don't entirely know  
> what I'm talking about (if I know anything at all, ie). It's just a  
> habit I have in speaking like I "don't quite know it all". It's a  
> journalistic instinct. Yup, I'm not from the IT industry originally  
> (which is probably why I need so much help?).
>
> Ultimately, I do want you and the community to know that I'm here  
> to help and contribute. Did I lose my senses? No. My current boss  
> will tell you I'm an altruistic person (even towards my boss/
> clients) with a strong sense fairness. Pragmatically speaking,  
> contributing to the community helps make future upgrades easier,  
> helps my boss' ERP system keep in step with OFBiz enhancements and  
> updates.
>
> (And I like communities. I'm a social person. I envision a time  
> when the concept of "work" is obsolete, where everyone just  
> contributes for exploration and advancement, and nobody is in need  
> or want.)
>
> As for this thread, I'm serious about having to implement the "rule-
> based config ID generation" for Configurable Products. Don't mind  
> telling you, it's a make or break factor. Well, of course, if OFBiz/
> OpenTaps had been comprehensively documented to say there's no such  
> feature, my boss would've broken away from OFBiz/OT sooner. I'd  
> guess more than a few folks had ventured into OFBiz and been more  
> than a bit miffed with "unfulfilled promises", probably caused by  
> poor documentation plus unspecified limitations. Especially if the  
> complaint is: "I thought the paid consultants said it's so feature-
> strong!". Whatever the case is, I am still STRONGLY CONVINCED that  
> OFBiz is a solid framework to build just about anything, even if  
> the existing applications don't meet his requirements (yes, he's  
> listening in. :P).
Wow, have you _ever_ found a package that listed every possible  
combination of business aspects that were not supported by it? Even  
on the flip side, how many packages have you found that explicitly  
list that feature?

-David



> So, again, I do need suggestions, instructions, guidelines to  
> direct my development of this feature. Why? Because it's in my  
> utmost interest to have the community track this feature in the  
> consolidated SVN. I don't wanna create a feature that breaks  
> existing codes.
>
> You could say that I need the community's blessings in my  
> development of this feature.
>
> Jonathon


smime.p7s (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

Jacopo Cappellato
In reply to this post by jonwimp
Jonathon,

unfortunately my time is very limited at the moment since I'm running
like hell in order to complete some open tasks (and calm my clients)
before I leave for a 3-weeks long business travel.

I'd say that you have two valid options:

a) use the virtual/variants approach, but instead of creating all the
variants just create the one you need during order entry. So you'll
start with zero variants and after, let's say 100 orders have been
entered, you'll have <= 100 variants. You'll need to change the
ecommerce's order detail page to support this. In the backoffice order
entry page the product's lookup screen already support something like
this (in an experimental way, you'll have to test it and possibly fix
some bugs): when you select a virtual product, you can filter its
variants by feature and if the combination doesn't exist, a link will
appear to create it

b) complete the implementation of configurable products; however keep in
mind that the original goal for this was to address a special kind of
product with a huge amount of possible configuration, where each
configuration was not so important for the company itself (not worth of
having a structured id); instead it was very important to setup a rich
and complex form for the configuration

So I'd say that, if your main requirement is that of having, a lot of
possible configurations then I'd suggest #a approach.
You would also consider to reorganize your manufacturing processes to be
more standardized, predictable and efficient (effective resource and
materials planning is probably impossible for you now) but I really
don't know nothing about your scenario and needs and this is a bit off
topic in this list: we just met a lot of customers manufacturing
products with millions of configurations, that after they reorganized
their processes, marketing strategies, inventory management just ended
up with a totally different/efficient product's catalog and drastically
reduced the number of configurations (adopting for example many of the
JIT approaches).
But I'm going too far and this is probably not your situation, and
however is off topic for an OFBiz mailing list.

Jacopo

PS: about the rule to create the configuration ids, I'd suggest to
implement your custom rule in a small service (that take as input the
configuration and returns a config id) to isolate your custom code as
much as possible


Jonathon -- Improov wrote:

> Jacopo,
>
> This is urgent for me. But first, thanks for your tips below.
>
> Let me describe my requirements before suggesting a solution.
>
> I have a product say PC001 that has probably millions of configurations.
> OFBiz handles that fine, with the "Configurable Product" concept. PC001
> remains a single product for easy administration, since it's not
> possible to create millions of variants and corresponding product IDs.
>
> I need some "product ID rules" to specify say unique "configuration IDs"
> for each configuration, but I still want a single product ID "PC001".
>
> For eg, a PC001 that has 2x256RAM and 1x2GB_HD may have "configuration
> ID" PC001-2AR-1AH, where the 2nd code "2AR" specifies 2 pieces of 256RAM
> and the 3rd code "1AH" specifies 1 piece of 2GB HD. So a PC001 that has
> 1x512RAM and 3x4GB_HD may have a config ID PC001-1BR-3BH. From this
> example, you can deduce that 256RAM and 512RAM have codes "AR" and "BR",
> respectively. And 2GB HD and 4GB HD have codes "AH" and "BH", respectively.
>
> Entity GoodIdentification doesn't work for me (Product page -> IDs). It
> allows only 1 ID for each type ISBN, Manufacturer (Model) Number, Model
> Year, SKU, etc.
>
> What about Manufacturing rules (BOM -> Manufacturing Rules)? Will that
> work?
>
> I think this has a lot to do with your intention to store individual
> configurations in the database. Like you said, the entity model already
> caters for storing individual configurations (via entity
> ProductConfigConfig). All we have to do now is to provide AUTOMATED
> rules for generating the value for field ProductConfigConfig.configId. I
> believe this entity isn't used yet, according to what you said. Right?
>
> I HAVE to implement this right away. I'm calling for suggestions,
> instructions, guidelines to direct my development so that what I do can
> be contributed verbatim back to the community.
>
> Ideas?
>
> Jonathon
>
> Jacopo Cappellato wrote:
>  > Jonathon,
>  >
>  > Jonathon -- Improov wrote:
>  >> Jacopo,
>  >>
>  >> So are you planning to do the "Create multiple Production Runs for
>  >> Configurable Product" feature? If so, when?
>  >
>  > No, I'm sorry but I don't have plans about this at the moment.
>  >
>  >> If you want me to do it, can you bring me up to speed quickly so I can
>  >> put my work back here for public audit? If I were to do it, I'd
>  >> probably start with the "creation of new production runs based on the
>  >> configuration id" feature.
>  >
>  > I'd suggest looking at the ProductConfig* classes (that handle many of
>  > the configuration related tasks):
>  >
> http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ 
>
>  >
>  >
>  > In particular:
>  >
> http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java 
>
>  >
>  > is the class that represents a product configuration, so the idea is to
>  > add a new method to it (something like store()) to store the
>  > configuration in the db.
>  > About the data model, here are the entities involved:
>  > ProductConfig
>  > ProductConfigItem
>  > ProdConfItemContent
>  > ProdConfItemContentType
>  > ProductConfigOption
>  > ProductConfigOptionIactn
>  > ProductConfigProduct
>  > ProductConfigConfig
>  > ProductConfigStats
>  >
>  > Some of them are still not used by the system; in particular,
>  > ProductConfigConfig is the entity that should be used to store a
>  > particular product configuration.
>  > They are all defined here:
>  >
> http://svn.apache.org/repos/asf/ofbiz/trunk/applications/product/entitydef/entitymodel.xml 
>
>  >
>  >
>  > If you want to see how the demo product PC001 is persisted in the db:
>  >
>  >
> http://svn.apache.org/repos/asf/ofbiz/trunk/applications/ecommerce/data/DemoConfigurator.xml 
>
>  >
>  >
>  > The user interface to edit the above data is here:
>  >
>  > https://demo.dejc.com:8443/catalog/control/FindProductConfigItems
>  >
>  > During order entry, you can configure a pc both in the ecommerce and in
>  > the order manager application (click on the "configurable pc" category
>  > in the left-hand side and then select the PC001).
>  >
>  > Hope this helps,
>  >
>  > Jacopo
>  >
>  >
>  >>
>  >> You mean it takes 0.5 to 1 day of work to do the above feature? Or
>  >> just to do the "Copy an existing production run" feature? The above
>  >> feature doesn't seem easy.
>  >>
>  >
>  > Yes, the 1 day estimate was about the "Copy an existing production run"
>  > feature; the other one is not so easy, even if there is already a lot of
>  > stuff in place.
>  >
>  > Jacopo
>  >
>  >> Jonathon
>  >>
>  >> Jacopo Cappellato wrote:
>  >>> Yes, the copy of a production run is not currently implemented (but
>  >>> it should be a rather easy task, let's say 0.5 to 1 day of work, for
>  >>> a developer with a good knowledge of OFBiz).
>  >>> The main reason is that, usually (for non pc - type products) the
>  >>> production run is quickly created from the bom and the routing (that
>  >>> both represents the 'template' for the production run).
>  >>> For pc-like products, the initial plan was to store the configuration
>  >>> (there is already the entity for this) and then use it in the system
>  >>> to do various tasks, such as:
>  >>> - statistics of top sold configurations
>  >>> - pre-configured items proposed to the customers
>  >>> - creation of new production runs based on the configuration id (this
>  >>> is what you would need here)
>  >>> - planning
>  >>> - bom explosions
>  >>> - and, most of all, by storing the configuration there will be no
>  >>> need to immediately create the production run when the order is
>  >>> created as is now (having a more flexible system).
>  >>>
>  >>> Jacopo
>  >>>
>  >>>> Jonathon
>  >>>
>  >>>
>  >>>
>  >
>  >
>  >


Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

davidnwelton
> But I'm going too far and this is probably not your situation, and
> however is off topic for an OFBiz mailing list.

I'm actually quite happy to read this sort of thing.  It's open for
_business_, after all, and it's usually informative to see how other
people handle certain tasks/concepts/procedures/ideas, even if we're
not using OFBiz ourselves.

--
David N. Welton
 - http://www.dedasys.com/davidw/

Linux, Open Source Consulting
 - http://www.dedasys.com/
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

Scott Gray
+1

David Welton wrote:
>> But I'm going too far and this is probably not your situation, and
>> however is off topic for an OFBiz mailing list.
>
> I'm actually quite happy to read this sort of thing.  It's open for
> _business_, after all, and it's usually informative to see how other
> people handle certain tasks/concepts/procedures/ideas, even if we're
> not using OFBiz ourselves.
>

Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

jonwimp
In reply to this post by Jacopo Cappellato
Jacopo,

 > unfortunately my time is very limited

Sorry! Thanks for your time. Let me know if you need help.

 > I'd say that you have two valid options:
 >
 > a) use the virtual/variants approach, but instead of creating all the
 > variants just create the one you need during order entry. So you'll start
 > with zero variants and after, let's say 100 orders have been entered, you'll
 > have <= 100 variants.

Yeah, I thought of this too. Create variants on-demand. I think my boss' business is B-to-B, not
B-to-C. So maybe that's why he actually has need for this many configurations (running into
millions). I'll ask him again if this approach can work. He is currently using another ERP system
that does exactly what he needs, so it's gonna be hard to argue that this ERP function is not
mainstream. Maybe it's not mainstream for B-to-C businesses.

 > b) complete the implementation of configurable products; however keep in mind
 > that the original goal for this was to address a special kind of product with
 > a huge amount of possible configuration, where each configuration was not so
 > important for the company itself (not worth of having a structured id);
 > instead it was very important to setup a rich and complex form for the
 > configuration

I think I might go with this instead. Your original (or future) intent is to have this
implementation track every possible configuration ever created, be it for market trends
assessments or for supply chain adjustments. Your entity ProductConfigConfig already has a field
configId. If I slap on an additional feature called "rule-based auto-generation of configId", I
don't think it'll get in the way too much.

 > So I'd say that, if your main requirement is that of having, a lot of
 > possible configurations then I'd suggest #a approach.
 > You would also consider to reorganize your manufacturing processes to be
 > more standardized, predictable and efficient (effective resource and
 > materials planning is probably impossible for you now) but I really
 > don't know nothing about your scenario and needs and this is a bit off
 > topic in this list: we just met a lot of customers manufacturing
 > products with millions of configurations, that after they reorganized
 > their processes, marketing strategies, inventory management just ended
 > up with a totally different/efficient product's catalog and drastically
 > reduced the number of configurations (adopting for example many of the
 > JIT approaches).
 > But I'm going too far and this is probably not your situation, and
 > however is off topic for an OFBiz mailing list.

No, I think you made a very good guess of my boss' situation, in my opinion. Let me run this by my
boss again. Thanks, Jacopo.

His manufacturing does a lot of built-to-order work, though. Not too sure if we can force-fit his
"products" into a "productization" process (as opposed to sticking with highly-automated
tailorization). We'll see.

Jonathon
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

jonwimp
In reply to this post by davidnwelton
Hi David Welton,

So what are you using?

Jonathon

David Welton wrote:
>> But I'm going too far and this is probably not your situation, and
>> however is off topic for an OFBiz mailing list.
>
> I'm actually quite happy to read this sort of thing.  It's open for
> _business_, after all, and it's usually informative to see how other
> people handle certain tasks/concepts/procedures/ideas, even if we're
> not using OFBiz ourselves.
>

Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

davidnwelton
On 1/10/07, Jonathon -- Improov <[hidden email]> wrote:
> Hi David Welton,
>
> So what are you using?

Code written in house, in PHP.  I'm not sure if we'll ever be able to
transition to OFBiz, but it still is worth following for me, because
it illustrates the 'right way' to do a lot of things.

--
David N. Welton
 - http://www.dedasys.com/davidw/

Linux, Open Source Consulting
 - http://www.dedasys.com/
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

Daniel Kunkel
In reply to this post by jonwimp
Jonathan

I don't know if you're already familiar with Marketing Packages, or even
if they'll apply, but I thought I'd alert you to them since they can be
wonderful in the appropriate situation.

In some cases where you have "millions of variants" it really comes from
a product that has interchangeable parts... colors, sizes, etc. For
example, a skateboard with a choice of 10 boards, a choice of 10 wheels,
10 different colored nuts (to attach the wheels) and 10 different trucks
(the metal part). In this case, you're only stocking 40 items, but you
have 10,000 available products.

With marketing packages, you just track the 40 items till a sale is
made, then "manufacture" the product per order. I think I've explained
this clearly enough that you see the genius of the idea.

Anyway, look it up if it applies.  

Daniel




 in case you haven't fou

On Wed, 2007-01-10 at 17:24 +0800, Jonathon -- Improov wrote:

> Jacopo,
>
>  > unfortunately my time is very limited
>
> Sorry! Thanks for your time. Let me know if you need help.
>
>  > I'd say that you have two valid options:
>  >
>  > a) use the virtual/variants approach, but instead of creating all the
>  > variants just create the one you need during order entry. So you'll start
>  > with zero variants and after, let's say 100 orders have been entered, you'll
>  > have <= 100 variants.
>
> Yeah, I thought of this too. Create variants on-demand. I think my boss' business is B-to-B, not
> B-to-C. So maybe that's why he actually has need for this many configurations (running into
> millions). I'll ask him again if this approach can work. He is currently using another ERP system
> that does exactly what he needs, so it's gonna be hard to argue that this ERP function is not
> mainstream. Maybe it's not mainstream for B-to-C businesses.
>
>  > b) complete the implementation of configurable products; however keep in mind
>  > that the original goal for this was to address a special kind of product with
>  > a huge amount of possible configuration, where each configuration was not so
>  > important for the company itself (not worth of having a structured id);
>  > instead it was very important to setup a rich and complex form for the
>  > configuration
>
> I think I might go with this instead. Your original (or future) intent is to have this
> implementation track every possible configuration ever created, be it for market trends
> assessments or for supply chain adjustments. Your entity ProductConfigConfig already has a field
> configId. If I slap on an additional feature called "rule-based auto-generation of configId", I
> don't think it'll get in the way too much.
>
>  > So I'd say that, if your main requirement is that of having, a lot of
>  > possible configurations then I'd suggest #a approach.
>  > You would also consider to reorganize your manufacturing processes to be
>  > more standardized, predictable and efficient (effective resource and
>  > materials planning is probably impossible for you now) but I really
>  > don't know nothing about your scenario and needs and this is a bit off
>  > topic in this list: we just met a lot of customers manufacturing
>  > products with millions of configurations, that after they reorganized
>  > their processes, marketing strategies, inventory management just ended
>  > up with a totally different/efficient product's catalog and drastically
>  > reduced the number of configurations (adopting for example many of the
>  > JIT approaches).
>  > But I'm going too far and this is probably not your situation, and
>  > however is off topic for an OFBiz mailing list.
>
> No, I think you made a very good guess of my boss' situation, in my opinion. Let me run this by my
> boss again. Thanks, Jacopo.
>
> His manufacturing does a lot of built-to-order work, though. Not too sure if we can force-fit his
> "products" into a "productization" process (as opposed to sticking with highly-automated
> tailorization). We'll see.
>
> Jonathon
--
Daniel

*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-
Have a GREAT Day!

Daniel Kunkel           [hidden email]
BioWaves, LLC           http://www.BioWaves.com
14150 NE 20th St. Suite F1
Bellevue, WA 98007
800-734-3588    425-895-0050
http://www.Apartment-Pets.com  http://www.Illusion-Optical.com
http://www.Card-Offer.com      http://www.RackWine.com
http://www.JokesBlonde.com     http://www.Brain-Fun.com 
*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-.,,.-*"*-

Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

jonwimp
Hi Daniel,

Do you mean the Marketing module? I can only find marketing campaigns there, nothing to do with
products or inventory.

Jonathon

Daniel Kunkel wrote:

> Jonathan
>
> I don't know if you're already familiar with Marketing Packages, or even
> if they'll apply, but I thought I'd alert you to them since they can be
> wonderful in the appropriate situation.
>
> In some cases where you have "millions of variants" it really comes from
> a product that has interchangeable parts... colors, sizes, etc. For
> example, a skateboard with a choice of 10 boards, a choice of 10 wheels,
> 10 different colored nuts (to attach the wheels) and 10 different trucks
> (the metal part). In this case, you're only stocking 40 items, but you
> have 10,000 available products.
>
> With marketing packages, you just track the 40 items till a sale is
> made, then "manufacture" the product per order. I think I've explained
> this clearly enough that you see the genius of the idea.
>
> Anyway, look it up if it applies.  
>
> Daniel
Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

Daniel Kunkel
Hi Jonathon

Marketing components are made via a special attribute in a product
association's BOM.

It's full name is:
        Marketing Package Auto Explode Component

And, as I said, the components are inventoried separately until you sell
something... Then, a production run is created and executed, and the
product is ready to ship. This system works especially well for
marketing materials, kits, etc etc.

There are even a few other cool features...  Like when you order and
receive products that comprise marketing auto explode components, the
products are reduced to their component level.

I'll take a quick moment to honor Si and Jacopo for this feature.
Without their hard work it would still be just an idea sitting in the
annals of Jira.

Anyway...  try creating one...

Thanks

Daniel




On Thu, 2007-01-11 at 02:35 +0800, Jonathon -- Improov wrote:

> Hi Daniel,
>
> Do you mean the Marketing module? I can only find marketing campaigns there, nothing to do with
> products or inventory.
>
> Jonathon
>
> Daniel Kunkel wrote:
> > Jonathan
> >
> > I don't know if you're already familiar with Marketing Packages, or even
> > if they'll apply, but I thought I'd alert you to them since they can be
> > wonderful in the appropriate situation.
> >
> > In some cases where you have "millions of variants" it really comes from
> > a product that has interchangeable parts... colors, sizes, etc. For
> > example, a skateboard with a choice of 10 boards, a choice of 10 wheels,
> > 10 different colored nuts (to attach the wheels) and 10 different trucks
> > (the metal part). In this case, you're only stocking 40 items, but you
> > have 10,000 available products.
> >
> > With marketing packages, you just track the 40 items till a sale is
> > made, then "manufacture" the product per order. I think I've explained
> > this clearly enough that you see the genius of the idea.
> >
> > Anyway, look it up if it applies.  
> >
> > Daniel

Reply | Threaded
Open this post in threaded view
|

Re: Auto-generated config IDs for configurable products

jonwimp
Daniel,

Well, I still need to create millions of products with all the different selectable components.
For eg, I still need 5 products of type Marketing Package for 5 types of bicycles with different
sizes of bells. So, I'd need Bicycle-Bell1, Bicycle-Bell2, etc. Also, it doesn't quite serve
built-to-order scenarios.

But the Marketing Package does work to allow for assembly-upon-order or JIT scenarios (thanks Si
Chen and Jacopo!). Fantastic. Now I won't have to pre-assemble the millions of combinations of
bicycles I produce. As long as I have the necessary components in stock for a Marketing Package (a
sort of Product like Bicycle-B-TW for black bicycle with thick wheels), OFBiz counts my components
to calculate my "QOH from Components" value.

Even the determination of stock availability is done on the SO (no "backordered" warning if I have
the required components).

Hey, you're right. The production run is auto-created and auto-completed (mere assembly anyway).
FMI (for my info, self note), production runs (and consequent stock deductions) are created and
completed upon submission of an SO.

One unfortunate side-effect is that my SO states "1 Backordered" when the SO was created BEFORE I
had enough stock, and remained there even after I brought in adequate stock. However, having
"Inventory Receive" automatically assign stock to SOs could be too "smart" for me; I'd like to
determin when and how my stock is used. Simple workaround could be: I create my own production run
after i brought in the component stock?

This question is really for Facility -> Shipping. Why does "Pack Shipment" (calling service
updateShipment) go through even with zero of negative stock?

Jonathon

Daniel Kunkel wrote:

> Hi Jonathon
>
> Marketing components are made via a special attribute in a product
> association's BOM.
>
> It's full name is:
> Marketing Package Auto Explode Component
>
> And, as I said, the components are inventoried separately until you sell
> something... Then, a production run is created and executed, and the
> product is ready to ship. This system works especially well for
> marketing materials, kits, etc etc.
>
> There are even a few other cool features...  Like when you order and
> receive products that comprise marketing auto explode components, the
> products are reduced to their component level.
>
> I'll take a quick moment to honor Si and Jacopo for this feature.
> Without their hard work it would still be just an idea sitting in the
> annals of Jira.
>
> Anyway...  try creating one...
>
> Thanks
>
> Daniel