Skip to content

Conversation

@mstenta
Copy link
Member

@mstenta mstenta commented Dec 1, 2025

This merges the farm_settings module into farm_setup, uninstalls farm_settings via an update hook, and marks it as obsolete.

A companion branch against farmOS 4.x does the same thing, but also removes the farm_settings module and the update hook (adding its name to hook_removed_post_updates() to ensure hosts upgrade to the latest 3.x release before 4.x - see #962): 4.x...mstenta:farmOS:4.x-merge-settings-into-setup

The motivation for doing this is twofold:

  1. Right now the modules form is in farm_settings, but we are considering adding a "Setup Wizard", which would be in farm_setup, so it feels logical for them to be in the same module. We can't make farm_setup depend on farm_settings because that would create a circular dependency.
  2. It feels more elegant to have one module. The distinction between the two is hard to describe, and sometimes hard to remember 😆. And the "settings form" feel like a subset of the "setup process/options".

This was briefly considered when the farm_setup module was first added in #706. See: #706 (comment)

Right now they are both pretty simple. farm_setup basically just provides the "Setup" main menu item, and farm_settings depends on farm_setup (for that menu item) and adds two forms: the settings form+menu item and the module installation form. So as it is, it's possible to have farm_setup installed without farm_settings, but it isn't possible to have farm_settings without farm_setup. They have separate permissions (access farm setup vs administer farm settings) - so it's already possible to set up users with the ability to access Setup without accessing Setup > Settings.

With all of that in mind, I don't see a strong reason to keep them separate, and merging them simplifies next steps for the setup wizard work.

PS: There is a second commit which simply moves the Gin-specific logic of adding the form-checkboxes class to the modules form over to the farm_ui_theme module, which is responsible for encapsulating all Gin-specific stuff.

@mstenta mstenta added this to the v3.5.0 milestone Dec 1, 2025
mstenta added a commit to mstenta/farmOS that referenced this pull request Dec 1, 2025
@mstenta mstenta force-pushed the 3.x-merge-settings-into-setup branch from da3ae8d to 09c4ff8 Compare December 1, 2025 18:37
@mstenta mstenta marked this pull request as ready for review December 1, 2025 18:37
@mstenta mstenta force-pushed the 3.x-merge-settings-into-setup branch from 09c4ff8 to 80ef68f Compare December 1, 2025 19:14
mstenta added a commit to mstenta/farmOS that referenced this pull request Dec 1, 2025
@mstenta mstenta requested a review from paul121 December 1, 2025 19:42
@mstenta
Copy link
Member Author

mstenta commented Dec 1, 2025

I drafted a change record for this, which is referenced in the lifecycle_link of the obsolete farm_settings module: https://www.drupal.org/node/3559903

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant