PI6: Timeline UI library
Generalize the timeline visualization code that was created for the Crop Plan module so that it can be used in other places. Add a timeline to all assets in farmOS core.
Phase 1 (generalize out of Crop Plan module):
-
farmOS
(in3.x-timeline
branch)-
farm_timeline
module-
Add timeline row and task data type plugins/definitions (copy from farm_crop_plan
). -
Add timeline library JS + CSS (copy from farm_crop_plan
, remove crop plan specific styles). -
Clean up and comment CSS.
-
-
-
farm_crop_plan
(in3.x-core-timeline
branch)-
Move timeline data types and library to farmOS core (depend on farm_timeline
module).
-
Phase 2 (move to new farmOS-timeline
library):
-
farmOS-timeline
-
New GitHub repository: https://github.com/farmOS/farmOS-timeline -
Build process to make a vanilla JS file artifact. -
... (move JS out of farm_timeline
module)
-
-
farmOS
-
Pull JS library into farmOS core via composer.libraries.json
(similar to farmOS-map). -
Provide a farm_timeline
render element. -
...
-
-
farm_crop_plan
/farm_grazing_plan
-
Use farm_timeline
render element. -
... (maybe minor changes to API endpoint output?)
-
Phase 3 (Individual asset timelines in farmOS core UI)
-
farmOS
(in3.x-timeline-ui
branch)-
farm_ui_timeline
module-
Install farm_ui_timeline
via update hook infarm_ui
. -
Make an API endpoint for individual asset location stages (copy logic out of farm_crop_plan
). -
Display timeline on individual asset pages. -
Show asset location stages. -
Show logs that reference asset (in both asset
andlocation
field).
-
-
...
-
-
farm_crop_plan
-
Remove asset location logic (moved upstream).
-
-
Phase 4 (API refinement + documentation):
- ...
Edited by Paul Weidner