moqui / HiveMind

HiveMind is a project management and ERP application for services organizations. It features project/task management, request tracking, time tracking, expenses, invoices/payments, general ledger, and content management (wiki). HiveMind is based on Moqui Framework, Mantle Business Artifacts, and Simple Screens.
Other
56 stars 48 forks source link

Manufacturing/Production Management (JobShop) #30

Closed ccarlow closed 6 years ago

ccarlow commented 7 years ago

Manufacturing/Production Management or JobShop functionality seems only partially supported in ManufacturingServices so I've been working on filling in the gaps for personal needs. HiveMind's description indicates that it is designed for Service industries and is geared more toward project management rather than production.

To avoid "muddying" HiveMind, does it make more sense to have manufacturing management handled with a separate component (something called JobShop or, to distinguish from Ofbiz and have a cool name like HiveMind, something like MakerShop)?

This article https://en.wikipedia.org/wiki/Tertiary_sector_of_the_economy suggests that HiveMind is designed to support the third sector of the economy. So a JobShop/MakerShop component would be designed to support the second sector (manufacturing raw materials to finished products). I'm not sure if the first sector of the economy would require its own component because I don't have much experience with it but I vaguely remember a discussion years back about how agriculture couldn't be handled very easily in OFBiz or at least not OOTB so perhaps a separate component would have helped.

I'm really just looking for guidance on how to go about providing manufacturing capabilities in Moqui. I'm open to any suggestions.

jonesde commented 7 years ago

In general HiveMind doesn't get into physical assets (materials, sub-assemblies, finished goods, etc) and yes it's use of the WorkEffort entity is focused on services and even more specifically on coordinating multi-phase projects with larger numbers of tasks (as opposed to large numbers of independent one-off/ad-hoc tasks). Most of the screens/logic/etc for service projects and tasks are not all that helpful for manufacturing and production.

PopCommerce is closer to this with the inventory (general Asset) management logic and screens.

There is some functionality in mantle-usl for manufacturing because it is used in a commercial application designed for large scale but simple manufacturing, ie single-level BoM and single step production (no routes). In the industry where it is currently used if they have multiple steps they do separate runs with interim inventory produced, stored, and consumed by other runs.

How to target and structure the open source applications is another question. POP Commerce doesn't currently have anything for production runs, even simple ones, but the industry it targets often include companies that do their own production (ie wholesalers who are not pure distributors often manufacture their own product, or outsource the manufacture of their product which they sometimes want to track too).

For the purposes of application design I don't think the 3 sectors in that wikipedia article are all that helpful. Even in the service sector things like medical services are WAY different from custom software development services and have very different software needs.

Even the manufacturing field is pretty diverse, do you have a specific sort of manufacturing in mind? If it fits in with goods production that also needs inventory management, purchasing, sales, etc then PopCommerce would be a good place to put it. I've been planning on adding something like that sooner or later, but have other priorities on contracts right now.

Some of this may come up on a contract for me sooner than later as one client who is using PopCommerce in production right now does outsourced manufacturing but wants to move toward purchasing raw materials themselves and using simple production run tracking to monitor materials consumed (issued from inventory, sent to contract manufacturers) and product produced (received into inventory) along with tracking cost of materials and of the manufacturing service to calculate their cost of the goods produced. Right now they are using purchase orders for these (and shipments for inventory management) and adjusting the Asset.acquireCost based on their calculation of actual cost in addition to what the contract manufacturer charges per unit.

ccarlow commented 7 years ago

Thanks for the feedback David. I agree the diversity any one of the 3 sectors makes it difficult to have one component model all scenarios. For now I'll focus on implementing manufacturing support in POP Commerce.

The specific manufacturing I'm focusing on currently is food industry related (turning ingredients of a recipe into a consumable food/beverage item).

jonesde commented 7 years ago

Let me know if you need a hand finding existing services. There are services for issuing inventory to a WorkEffort (production run) and receiving from a WorkEffort too. There are a number of other services for things related to productions runs, but like I mentioned before the main effort so far that has gone back into Mantle into the inventory side of production. There isn't any demo data for bill of materials, but it is similar to OFBiz with the ProductAssoc records.

On a side note, a lot of this was written for the food industry but with significant parts that are very industry specific (bulk sorting, processing, packaging and such) and are only in the commercial application built on this stuff.

BTW, I'm hoping to get to your pull requests this weekend. Been very busy with current client objectives!

igorgallingani commented 6 years ago

I am interested in participating in the development. Are there any updates on this issue?

magware commented 6 years ago

Me too, I'm interested in the development. Ready to serve.

jonesde commented 6 years ago

Some thoughts on this...

For anyone interested in getting more involved please read some of the new wiki documents:

https://github.com/moqui/moqui-framework/wiki/Contributor-Guide

https://github.com/moqui/moqui-framework/wiki/Issue-and-Pull-Request-Guide

To make collaboration easier I recommend using the Google Groups 'mailing lists' for collaboration on requirements and designs (see the Contributor Guide for details). Once some initial objectives in the form of requirements and designs are established we can discuss data model, service, etc changes (in mantle-udm and mantle-usl) and work up from there. For major new functionality I generally start at the service level with automated tests and then work up to the screen changes or new screens needed. The recent payment to payment and invoice to invoice application functionality is a good example of this.

jonesde commented 6 years ago

Closing as part of general cleanup for the move to HiveMind and for no recent activity on this issue. If this comes up again or anyone wants to pursue it feel free to create a request on moqui.org. For more information see:

https://www.moqui.org/m/docs/moqui/Community+Guide