farmOS Data Model Challenge!

Hi everyone!

The farmOS team is currently working on formalizing the specification for the farmOS data model as a part of the version 2.x release expected some time in 2021.

This data model is the product of several years working with users to hone it down to the most accurate yet flexible representation that can accommodate most farm data, reflecting real-world scenarios. While we’re fairly confident in the results, we would like to stress test the model a bit more, before publishing it as a part of the official docs and enshrining these ideas in the implementation for 2.x.

So, we’re calling on the GOAT Community, particularly OpenTEAM members, to help us kick the tires on this data model, so to speak. We’d especially love to hear from you if, either presently or sometime in the near future, your organization is planning to use or interoperate with a farmOS server, farmOS Aggregator, or the switchboard that @gbathree is working on, which may adopt some principles from the farmOS Data Model (correct me if I’m wrong, Greg).

So what, exactly, do we want to hear you?

Well, user scenarios, mostly. From farmers, researchers and other folks like us who design systems for farmers, researchers and other stakeholders. What are the really gnarly edge cases you’ve encountered in the field? Can we map it to the model?

We’d also like to invite anyone with sufficient interest in this kind of stuff to review the model specification and to provide constructive criticism, on both the model itself and the way it’s being specified. We’re taking a very high level, relatively non-technical approach to the specification, so you don’t need a Comp Sci degree to provide worthwhile insight.

I would really love to see this evolve into some kind of workshop, where we could really put the model through the wringer, but I know everyone’s time is precious, so I thought I’d open up to the forum first, to field responses asynchronously and gauge interest. So even if this just sounds vaguely relevant to you, please leave a short comment below so we have a chance to follow up later.

Thanks in advance!

cc: @mstenta, @paul121


I’ve provided a ton of feedback already on calls to Mike and would also love to hear more use cases from others as well!



Along with Greg I’ve been spending quite a bit of time trying to get my head around the FarmOS data model and how we’d are trying to map onto it at Rothamsted.

Definitely think of me more as a user than an expert programmer… but I’d actually really like to see the plans for the new version when it’s ready. We’re in quite a lot of discussion with Mike already and you are welcome to join those discussions if that is useful?




Glad to hear it! I think we’ll greatly benefit by having your perspective. Part of the goal of publishing the data model is to have a sort of intermediary, high-level description of how farmOS works so users and developers can have more meaningful discussions on how to improve it. So if you see anything in that document that needs clarification or that doesn’t fit with your own mental model, then it’s a good indicator that we still need to tweak the model, or at least how we’re describing it.

Right now, because it’s still in draft, it’s just living on Mike’s fork of the farmOS documentation, so you can feel free to check it out (bearing in mind it’s still a draft).

I believe our plan is to open up a formal-ish review process and request-for-comments as a GitHub pull request, when the time comes. It would be great to include you in that process, if you’d be so willing.

Thanks for giving this your attention!

~ J

1 Like

One thing that occured to me was that having QR codes around the place and on objects (trays of seeds in my case) could really streamline stuff.

Photo of QR code at location (Bed 3)
Photo of QR code on the object (Seedling tray 2)

In the database, the seeding tray is 1 planted in Bed 3.

1 Like

Hi everyone! Just wanted to cross-post this here for all the GOATs :slight_smile: