Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Field Kit Roadmap 🚗 #373

Closed
4 of 7 tasks
jgaehring opened this issue Aug 2, 2020 · 4 comments
Closed
4 of 7 tasks

Field Kit Roadmap 🚗 #373

jgaehring opened this issue Aug 2, 2020 · 4 comments

Comments

@jgaehring
Copy link
Member

jgaehring commented Aug 2, 2020

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
Copy link
Member Author

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
Copy link
Member Author

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

@jgaehring
Copy link
Member Author

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:

  • Finish Component Library milestone
    • Don’t implement Figma prototype
    • Replace Bootstrap layout classes w/ layout components
    • Leave Bootstrap form classes
    • Finish documenting content components that are being used
  • Start work on 2.x support
    • Tag and release as 0.8.0 for now and leave it on https://farmos.app
    • Create develop-2.x branch
    • When 2.x support is near complete, reassess:
      • Do we migrate domains or migrate databases?
    • If we migrate domains :
      • Create new branches
        • develop-1.x
        • deploy-1.x
      • Merge develop-2.x into develop; use that for 2.x going forward
      • Tag and release 1.0.0
      • Migrate users to https://v1.farmos.app
      • Release 0.8.1 to https://farmos.app, which notifies users of the switch
      • Freeze deploy branch until we’re ready to release 2.0.0
    • If we migrate databases:
      • Leave 0.8.0 on https://farmos.app domain
      • Skip version 1.0.0
      • Write a database migration
      • Write a 1.x lens
      • Release as 2.0.0 when farmOS 2.0 is released

@jgaehring
Copy link
Member Author

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.

@jgaehring jgaehring unpinned this issue Apr 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant