- Issue created by @m.stenta
- πΊπΈUnited States m.stenta
It also provides a farm.modules installation profile argument that can be used to specify modules from the command line during
drush site-install
. This accepts a JSON-formatted array of module names, or a shortcut string that corresponds to a set list of modules (all
,default
,base
)....
removing the
farm.modules
profile argument would be a breaking change, because it would change the behavior of automateddrush site-install
commands anywhere they are usedIf we do remove this option, then we will need to provide another option for these automations. Otherwise, it will not be able to test "installing all modules" like we do currently in our automated tests (among other cases/contexts):
https://github.com/farmOS/farmOS/blob/a07034f18a5091dc91fab2360509126ef0...
Perhaps an alternative would be to provide a
drush
command for installing "sets" of farmOS modules (eg:all
,default
,base
). This could then be run after site installation as desired.For example:
drush site-install --existing-config drush farm:install-modules all
This could be split off as a separate feature request and implemented before farmOS 4.x.
- πΊπΈUnited States m.stenta
This would also allow us to remove a "temporary" workaround that was put in place to fix #3183739: Functional tests are installing all default farmOS modules β .
- πΊπΈUnited States m.stenta
One thing that needs to be figured out: how do we install the "base" modules in instances that do not have managed configuration? Right now that set of modules is not shown in the modules form, and just gets installed by default, unless
farm.modules
is explicitly set to an empty array.I think we basically want the behavior to be:
- If the site does not use managed configuration, automatically install "base" modules.
- If the site does use managed configuration, do not install "base" modules.
Maybe we need to rethink this idea of "base" modules more generally. Right now they include:
farm_api
farm_login
farm_settings
farm_setup
farm_ui
farm_update
According to the comment in
farm.profile
: "Base modules will always be installed, but can be uninstalled."We can't make them hard dependencies, because you may want to uninstall them in some cases, for a more customized experience.
So how do we ensure they get installed for the "default experience" (when managed configuration is not being used)?
- π΅π±Poland wotnak
A quick fix could be to just check in the custom install task if $install_state['parameters']['existing_config'] is true and if so skip automatic installation of base modules.
- πΊπΈUnited States m.stenta
I like that idea @wotnak.
Maybe we can still think ahead to some of the larger changes, but a quick fix in 3.x would be worth it.
- Status changed to Needs review
9 months ago 11:34am 31 March 2024 - πΊπΈUnited States m.stenta
I created a PR that implements @wotnak's suggestion: https://github.com/farmOS/farmOS/pull/821
- Status changed to Fixed
8 months ago 7:27pm 7 May 2024 Automatically closed - issue fixed for 2 weeks with no activity.