farmOS / field-kit

A modular, offline-first companion app to farmOS.
https://farmOS.org
GNU General Public License v3.0
60 stars 39 forks source link

Field Kit Roadmap 🚗 #373

Closed jgaehring closed 2 years ago

jgaehring commented 4 years ago

Releases

I'm organizing these releases based on anticipated amendments to the developing Field Module API. I expect other features, bug fixes and improvements will be included with these releases, as necessity dictates, but I'm viewing the Field Module API as the main organizing factor and cause for any minor semver bumps. I'm also including a couple sprints for module development, based on what API features are already available (eg, farmOS Core Quick Forms largely rely on the assets API). Those will probably lead to a host of API changes that may necessitate a minor semver bump in their own right. The final 1.0.0 is kind of a placeholder for big issues that needs to be addressed further in the future (particularly with the approach of farmOS 2.0), and will probably need to be broken up into smaller releases when the time comes, but for now it seemed like a good target to aim for. I'll be creating milestones for releases as they get closer.

Edited: I've updated this significantly to reflect the timeline I drafted in #419. The basic idea is once we're done with the component library and redesign for what was formerly planned as the 0.8.0 release, we're going to bump versions to 1.0.0. This is to signify that it will be the final version supporting farmOS 1.0.0 before we go into development of 2.x support. A feature freeze will then go into effect until FK 2.0.0 is ready to release, which will include all Field Module development. So in effect, Field Modules will be a purely 2.x feature, even though some of the groundwork will have been laid in 1.x.

Other major issues and enhancements

These are some issues that are not directly related to any of the API's listed above, but can be addressed in the same milestones where suitable. For instance, since error handling will largely rely on better UI elements (eg, app "toasts" instead of Bootstrap's warning component), it makes sense to treat that in 0.8.0. And since I'm planning to work on the Observations module in 0.9.0, that seems like the most appropriate place to handle image storage.

We also must must must document this API as we go! I'll include documentation as line items where appropriate.

jgaehring commented 4 years ago

I'm adding testing as a requirement for all milestones as well, with specific issues for setting up the toolchain for integration tests in 0.7.0 (#386) and for component testing in 0.8.0 (#387).

jgaehring commented 3 years ago

NB: I've updated the checklist above to reflect #419.

jgaehring commented 3 years ago

After some discussion with @mstenta today, we arrived at a new plan to accelerate work on 2.x support, and defer design work until we can coordinate with OpenTEAM's HCD group on new Field Modules (including the Tasks module with its TasksEdit screen). I'll update the roadmap above, but here is a more detailed breakdown of the release plan:

jgaehring commented 2 years ago

I've updated the release schedule above with more detail on the type of issues I'll be addressing for Field Kit 2.0.0-beta, including and starting with farmOS.js 2.0.0-beta. More details in the corresponding milestones, but generally the goal is to achieve a stable API for Field Modules, ironing out some of the issues left unresolved in core from the alpha release. Major refinements to the Tasks module itself will follow the beta release.