Closed (fixed)
Project:
farmOS
Version:
7.x-1.x-dev
Component:
Code
Priority:
Minor
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
10 Apr 2015 at 19:51 UTC
Updated:
3 Mar 2018 at 19:24 UTC
Jump to comment: Most recent
Hi,
We raise pastured poultry and receive 125 - 250 chicks in at a time. I would love to be able to track activities such as hatch date, slaughter date, feed consumption, etc for the group without needing an entry for each individual bird. We typically do not track the individual birds unless there is an issue.
Thank you!
Ian
Comments
Comment #1
m.stentaYea, this is something I thought about when I first built the animal asset type. It has a way to assign animals to groups, but it still requires that each animal have a record in the system. This is necessary for managing heads of cattle, and other large animals, but does not work when you track animals en-masse, like chickens.
Perhaps there needs to be a dedicated poultry module that provides it's own asset type called "Flock". So for large groups of chickens, you could create a single "Flock", and for other animals you could create individual "Animal" records.
I could see this tying into the inventory management features I am planning. The idea being that a "Flock" is a type of asset that tracks inventory of itself, so birds can be added and removed from it. As opposed to say, an Animal asset, which does not track inventory of itself, because it is always only one. Still some details to work out with those ideas... Here is the discussion for that stuff: #2401531: [META] Farm Inventory Brainstorm/Discussion
Comment #2
ireilly commentedA "Flock" entry would work well, especially if there is a way to keep the record but make it inactive? Once all of the birds have been harvested we can keep the notes but won't want it to continue to show up in the "Animals" or "Groups" lists.
Thanks!
Ian
Comment #3
m.stentaYea, "inactive" assets is something I have had in mind for a while. I went ahead and created a separate feature request for that: #2477409: Inactive assets
Comment #4
m.stentaInstead of creating a separate "Flock" type, I wonder if it makes sense to turn the existing "Animal Groups" that we have into full-fledged assets. I need to think through all the implications of that, but it might be a nice general way to reorganize things conceptually.
In that world, each group would be an asset itself, and you could potentially ALSO have individual assets that are linked to that group. ie: "Betty the Chicken" is in "Chicken flock 1". But "Chicken flock 1" would be an asset, not a taxonomy term as it is currently.
This would cover the use-case you described in the original description: "We typically do not track the individual birds unless there is an issue."
If there is an issue with a particular bird, you could create a specific Asset for it and place it "in" the Flock asset... so it can have it's own records separate from the flock.
Definitely need to think through all the implications, and how best to migrate the existing groups to assets... but I like these ideas... I think they would work nicely.
Comment #5
m.stentaCleaning up some issues... moving this to the Livestock module queue.
Comment #6
m.stentaThere has been some discussion outside of this thread around creating a new type of asset called an "Asset Group", which can contain children assets. Groups could be used for managing flocks/herds, or any other kind of general groups. For example, in https://www.drupal.org/node/2389921#comment-11419247 @BruceDawson mentioned the idea of grouping various equipment and areas together for the purpose of a "water system" (as one potential use-case). The ability to group assets of different types under the umbrella of one Asset Group could be very useful in a lot of ways.
Comment #7
BillFosher commentedMost of the animal management, especially movements that I do is group based. This is especially true of poultry. I raise my meat chickens in batches of a few hundred, and I raise several of them a year. None are individually identified. The only case in which individual birds get attention is in cases of morbidity and mortality. But not like "Bessie moved to hospital pen due to picking" and "Thomas dead from heart attack." More like the group was 350. 1 moved to hospital pen for picking. Group is now 349. One dead from heart attack, group is now 348. Hospital bird recovered, returned to main group. Hospital pen is now zero, main group is now 349. The other events that would need to be tracked would be group disasters -- several dead from heat or predation, or a disease outbreak. But again, this could be handled by deducting numbers from the head count of the group, rather than tracking specific individuals.
Layers and turkeys are the same on my farm -- they're just around for longer.
I suppose if someone were breeding poultry, individual records would be important. When you buy batches of day old chicks, especially straight run where sex is unknown, it isn't really a good use of time to create hundreds of records that will then almost always be treated as a single unit.
For cattle, sheep, and hogs, it probably makes more sense to have individual records tied into a group, especially as groups may be reconfigured at different times of the year in breeding flocks and herds. But it would also be handy (and I think easy to set up) that entire groups can be added or removed from other groups. For instance, ewes and unweaned lambs are together until weaning, then all ewes are moved and lambs remain as a separate group. At some point later on, the weaned lambs are broken down into breeders and feeders, which may or may not be separated. Certain medical procedures will be handled on all animals in a group at once.
To add another wrinkle, I'd like to be able to have a group identifier remain with the individuals even when they are combined with other groups. For instance, I'd like to always know what litter a piglet came from, even if I've combined a few litters into a group of feeder hogs that is managed as a single unit. Ditto for lambs, calves, etc.
Here's a typical series of events that piglets might go through on my farm:
purchased eight piglets from Chris (group 1)
purchased four piglets from Tom (group 2)
Both groups are placed where they can see each other, but are kept separate for a time
Groups 1 and 2 are combined for management through the growing period (group 3)
but at the end, I'd like to be able to look back and see if piglets from Chris or Tom did better, produced more fat or bacon, etc.
Lambs and calves might have similar processes.
Is any of this possible, and would it be useful to others?
Comment #8
m.stentaThanks @BillFosher! All great considerations!
I'm excited to implement this feature - I think it will have immediate usefulness in a lot of different scenarios.
Comment #9
BruceDawson commentedHi Bill! Good idea. It inspired an "asset group type" entity for me... You can have several "types" of groups - one would have individual entities, another would just have a number. Some might have "qualities" of individuals ("have cough", or "are male", ...)
At first, it seems like it would be applicable only to reporting (like "grouping" in a report), but could also be used for management - keeping track of what type is where, ...
Comment #10
BillFosher commentedWhen I think of the loggable animal processes that I have done over the years, they break down into a few categories --
Distinctly individual events, such as:
Events that may be individual or group based
Events that are almost always group events
Not sure if this is helpful, but it is how I have done things on paper (remember that, Bruce?) for years.
Comment #11
m.stenta@BillFosher: GREAT info! Thanks! I like that you separated things by "single" and "multi" asset relationships. It is helpful to think about things in these terms, especially in light of the discussion here: #2755237: [META] Discussion: Logs vs Revisions
Comment #12
m.stentaFor anyone following this issue, you may also be interested in the discussion happening here: #2905112: [META] Discussion: Asset membership vs location
Comment #13
m.stentaOK - we've got a decision to make here... looking for input.
I'm working on two new modules for farmOS right now: Inventory and Group. Inventory will add the ability to track inventory levels on certain asset types. Group will add a new asset type called "Group" which can be used to represent groups of things, but also allows you to assign other assets to be "members" of the Group (creating a hierarchy).
Originally, the Group asset with inventory tracking was how I was thinking we would handle things like Flocks, Herds, etc (see my comment #4 above). So you would create a new "Group" asset called "Herd 1", and give it an inventory of 50. But you would also be able to create an individual Animal asset record (ie: "Betty the cow") and make it a member of the group. Importantly, Group assets would have inventory tracking, but Animal assets would NOT (they would be strictly intended for individual animals).
In discussing the new Grazing module that I'm working on with Stephen Woodbridge - we are rethinking this.
Would it make more sense for Animal assets to allow inventory tracking, and Groups not? In that case, a Herd or Flock would be represented with an Animal asset, in the same way that an individual animal would, but it would have the ability to have a head-count associated with it. Group assets would ONLY be used for grouping purposes, and would not have the ability to track inventory themselves.
This is an important decision because if we ALLOW inventory tracking on any asset type, we cannot remove that ability in the future - because people may start using it once it's available. We can more easily open up the restriction for asset types in the future, but removing the ability is harder/impossible. So I want to put some good thought into it before we include it in the next release.
I think the main considerations boil down to:
There are some clear benefits to using the Animal assets themselves to track inventory: less ambiguity overall, and you'll be managing animals all in one place (/farm/assets/animals) rather than groups in one place and individual animals in another.
What do you all think?
Comment #14
m.stentaFYI, here is the inventory issue, which describes what I'm working on with regards to inventory management: #2912091: Farm Inventory
Comment #15
BruceDawson commentedI think it would be useful to know how many are in any group. For instance(s):
- "Needing repair" group might have Hoses (2), Pumps (1), truck (2). [Number in parenthesis is number of individuals in that group.]
- "Pregnancy Test" group might have sub groups Need and Done (because we do pregnancy testing in batches).
Let me know if you need further examples.
Comment #16
m.stentaThanks @BruceDawson!
That actually brings up a key distinction to this... and a really good one to add to the todo list. I would call that feature request:
"Show a count of how many assets are members of a group"
This is a bit different than the "inventory" functionality I'm working on currently, and it helps to distinguish the two ideas as separate features. Both useful!
To summarize, these are the two separate use-cases:
Hopefully that clarifies my original question above a bit better:
I'm debating whether or not inventory (aka use-case #1) should be available on Group assets. This would then allow you to have BOTH a count of group members (assets in the group) AND an arbitrary ledger-record of increases and decreases in the "number" of a group. Having both doesn't really make much sense, and would be confusing, I think - which is part of the reason I'm considering NOT allowing "inventory" on Group assets.
So I would say your input supports that direction too... as long as we ALSO have the ability to show a count of group members (#2 above).
Sorry if my terminology decisions are making things more confusing too... "Inventory" is sort of confusing as a name for this feature it seems... :-)
Comment #17
m.stentaI'm going to change this issue to a [META] Discussion, and start a new issue for the specific implementation details once that's all figured out.
Also, I'm closing this other issue because it's basically part of this already: #2540560: Asset hierarchy
And referencing the separate, but related, "inventory" feature: #2912091: Farm Inventory
Comment #18
m.stentaComment #19
m.stentaI started a new issue that I'll use to outline the specific implementation details for the "Group" asset type, based on this discussion. We can continue to use this issue for general discussion around the topic. I'll incorporate/organize final decisions over there...
#2915217: Group asset type with membership tracking
Comment #20
m.stentaHad some discussion about this in an email thread last week... copying some of that correspondence here for posterity:
@BruceDawson:
@m.stenta:
Brooks:
@m.stenta:
Comment #21
m.stentaA new "Group" asset type was added. See http://farmos.org/guide/assets/groups/