This is not something that I have used, but something I came up with for a user on reddit.
Tracking research progression using org TODO state changes:
The background/concept goes like this:
A biology researcher places flies from batches A,B,C, etc. onto petri dishes.
The first dish is #1, the next is #2, etc.
The researcher moves each batch of flies from one dish to the next based on some criteria until the experiment is done.
This creates a progression through dishes as A1, A2, A3, etc.
The timestamp when the flies are transferred between dishes needs tracked. The difference between these creates duration on each dish.
This data needs tracked in a clean and automated way.
To illustrate why my solution is useful, I will first describe a simple implementation.
A Simple solution:
Just write the data into a table. And put the table under a heading.
Pros:
Setup in minutes.
Easily export data in various ways from tables.
Cons:
Manual insertion of: batch name, dish number, time in, time out, notes, etc.
Possible automation using this method:
Custom capture into the table could mitigate the issue, but is not fully automatic, requiring you to still enter all of this information, just from a capture buffer. And, I would prefer to use built in org-mode functions/features to actually automate this.
My solution:
Use todo state changes and logging into drawers to customize and automate all aspects of this cleanly. This allows you to use one keybind (org-todo function) to progress your research data and capture notes.
This creates something like the following:
3 Batch A
:LOGBOOK:
- State β3β from β2β [2022-07-27 Wed 11:38]
Note from state change.
- State β2β from β1β [2022-07-26 Tue 10:00]
Note from state change.
:END:
This information is automatically tracked and put into the logbook. This allows the information to be folded away, yet still be accessible. The Batch A heading is not cluttered with data. Other research or notes on this batch can still be cleanly stored under this batch heading.
Additionally, this automates the capturing of time, duration, and notes related to the progression of research and automatically advances the batch heading to reflect the current state it is in. (3 in this example)
This for multiple batches would look like this:
3 Batch A
2 Batch B
4 Batch C
or unfolded one level:
3 Batch A
:LOGBOOK:
more information
2 Batch B
:LOGBOOK:
other headings
4 Batch C
:LOGBOOK:
more stuff
Setup:
Create an org heading for each batch of flies you want to track. (* Batch A, * Batch B, etc.)
Create custom org-todo-keywords, one for each dish. (1-9? /max_dishes)