Rothamsted-Ecoinformatics / farm_rothamsted

Custom farmOS features for Rothamsted Research.
GNU General Public License v2.0
6 stars 1 forks source link

Experiment module: Enable writing and editing of variables in FarmOS #691

Open aislinnpearson opened 4 months ago

aislinnpearson commented 4 months ago

Currently you need to upload three different .csv files into FarmOS in order to create the plot variables. This is not intuitive or user friendly. A better way to do this would be to enable the user to create the variables and variable levels in FarmOS but this is a large issue with several sub-issues that will need specifying and resolving. Specifically:

  1. Ideally you would write out the variables and variable levels on the Design entity, but upload the plot attributes to the plan/ study entity (or, at least, also have them visualised on the plan/ study entity). When we do this, we may want to suppress some of the error checking for the upload process so that it is more of a 'check; than an error. For example, some of the classical and long-term experiments only have treatments applied in certain years. The treatment should be there every year, but in some years the treatment level may be nil one year and in others it is applied. Currently FarmOS won't allow this - all levels must be in the plot attributes upload. If we move the variables to the design, you'd specify this treatment and all the variable levels but FarmOS would only ask you if you intended to leave some levels out. If you say yes, the plot attributes are uploaded. Alongside this, I think we need to write some more specific definitions of what counts as a design phase. For example, is in anything that requires the experiment to be re-randomised?
  2. If we are going to review the above, we might also want to review how we visualise that different variables are related to each other. For example, if you add a treatment that has components, then the components are clearly linked to each treatment and shown as nested beneath the treatment factor and there is a button specifically to add treatment components to a variable.
  3. Similarly, if you want to specify the treatment application - and for this you might actually want to create a quick form. This would be a good opportunity to think about how these things fit together.
  4. We might want to create a 'taxonomy of variable types' that people can use year after year, and to encourage consistency across experiments. These would be pre-linked to ontology terms, with fixed names although the users could edit the description and number of levels. This would be optional - users could also create their own and (maybe) add them to the library.