farmOS / field-kit

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

Package Tasks as a separate Field Module #446

Closed jgaehring closed 2 years ago

jgaehring commented 3 years ago

I think it's worth revisiting this, since we're starting fresh, in a sense, with 2.x of both farmOS and Field Kit.

I guess I'd really like to see the Tasks module become a true Field Module, so users can disable it if they choose (they can't if it remains a build-time component), but include it as a default module in farmOS itself, so it still works "out of the box".

A related issue, which I may open separately, is whether the Tasks module should work prior to login. I'm already in favor of disabling all functionality while logged out, and this seems like another good reason to drop it.

jgaehring commented 2 years ago

At this point I'm going to operate on the assumption that I will make Tasks a field module, and we can make a final decision just prior to beta release (hence I'll be leaving this open for now).

It may even be instructive to separate Tasks into its own repository, or at least give it a separate development environment and build process, in preparation for creating a template repo (#422). It will also aid in the migration to Vue 3 (#420), since the biggest breaking changes from 2 to 3 will primarily effect how field modules are mounted (ie, how their components are registered to the main application instance and added to the router). Developing with a module that's as close to the real thing should provide better feedback on what works and what doesn't.

jgaehring commented 2 years ago

Fully implemented and resolved by 4b38c14.

Although I've split off field-module-tasks as a separate Node package, I've held off moving it to a separate repository. As of now I'm leaning towards keeping the "core" modules in this repo in the packages directory.

I have looked into the best way to maintain the history if I ever do decide to move Tasks into a separate repo, however, and found this helpful:

https://medium.com/@ayushya/move-directory-from-one-repository-to-another-preserving-git-history-d210fa049d4b