How to publish Recipes in Git repositories
Preliminary comment: Valueflows Recipes are still work in process. We have a lot of learning from the Recipes in the NRP project, a collaboration with Sensorica.
But now we are talking to other projects who may also want something like Recipes. They (and we) want Recipes that can be published and shared in Git repositories, where they can be collaborated on, versioned, branched, forked, and merge pull requests.
Git likes to manage files. The current VF software projects do not produce nice neat files. They use Web user interfaces with HTML Forms where users enter data in form fields which will then go through the VF GraphQL API and then be stored in (probably relational) databases.
Here's a couple of mockups of two upcoming VF apps. They show UIs for planning, not recipes, but the structure is pretty much the same.
They could also be stored in an RDF format, but nobody is doing that yet. But as you can see, pretty different from text files...
@lynnfoster and I are now talking to people from at least 2 different projects about agreeing on a format for manufacturing documentation:
See also our intro wiki page about that conversation, Recipes vs Bills of Material and Routings vs Resource Flows.
Julian Stirling from GOSH has developed a project called GitBuilding which uses a markdown file-based manufacturing documentation format called BuildUp.
I think GitBuilding can cover most of the requirements for VF:Recipes. Here is an example: https://build.openflexure.org/openflexure-microscope/v7.0.0-alpha1/high_res_microscope.html. Here is another: https://gitbuilding.io/usage/complex-projects.
So then what I think will be needed is program functions to export the Recipes created in Web UIs to GitBuilding files, and then to import GitBuilding files back into VF Recipe apps, where people can use the nice UIs with dropdown selections of components and validations of entries.
We already have Python code in the Vocabulator to output several formats including Yaml, a text format that we use a lot for examples: http://valueflows.pythonanywhere.com/
Buildup could be another.
Does this make sense to everybody?