You publish a module with specific visibility settings.
New subscriber signup: The module appears in the locations you configured.
Existing subscriber upgrade: The module visibility settings apply when they upgrade to the new version.
Version 2: Developer updates visibility in a later version
You publish a new version with updated Module Visibility settings for the same module.
- Module Visibility changes are upgradable: Any changes to Module Visibility settings apply to subscriber organizations during upgrades.
- Adding standard UI locations: If you add a module to all three standard UI locations (Modules list, Web UI, Tab Menu) for the first time, it becomes available in subscribers' Organize modules lists after upgrade.
- Removing standard UI locations: If you remove a module from all standard UI locations, it no longer appears in subscriber Organize modules lists after upgrade. However, if a subscriber had previously hidden the module in Organize modules, that hiding preference is preserved in the system. If you later add the module back to standard UI locations, it will reappear in their Organize modules list but remain hidden because of their earlier choice.
- Organize modules settings are non-upgradable: Changes to which modules are enabled in Organize modules settings only affect new subscriber signups. Existing subscribers are not affected.
- Developer hiding always applies: If you hide a module from all locations in Module Visibility, it becomes hidden in subscriber orgs during upgrade.
- Pricing-plan availability is separate from visibility: A module can be visible in Module Visibility, but it still does not appear in subscriber orgs if it is not added to the selected pricing plan. In this case, the module remains missing after signup or upgrade until it is added to the pricing plan and the application is published again.
- New subscriber signup on latest version: The module appears according to your current Module Visibility and Organize modules settings.
Scenario: Subscriber uses Organize modules
Subscribers have the Organize modules setting in their own organizations. This is different from your developer-side Module Visibility and Organize modules configuration.
- Which modules appear in subscriber's Organize modules list: A module appears in a subscriber's Organize modules list only if it is visible in all three standard UI locations (Modules list, Web UI, and Tab Menu) in your Module Visibility configuration in the Developer Console.
- If a subscriber hides a module using Organize modules: That choice persists across application upgrades, including when you expand Module Visibility to show the module in more locations. The subscriber must manually change their Organize modules setting to show it again.
- If you hide a module in Module Visibility: It becomes hidden in subscriber organizations during upgrade, regardless of what the subscriber has set in Organize modules. Subscribers cannot override this.
Understanding the asymmetry between developer and subscriber visibility control
The relationship between developer and subscriber visibility settings follows an asymmetrical pattern:
Developer hiding takes precedence: When you hide a module by removing it from all Module Visibility locations, the module becomes hidden in all subscriber organizations during their next upgrade. This applies regardless of the subscriber's Organize modules preference.
Subscriber hiding persists across developer changes: When a subscriber hides a module using Organize modules, that preference remains in effect even when you modify Module Visibility settings. The module stays hidden in their organization until they manually change their Organize modules setting.
Example scenario
Your Automotive Platform application includes a Service Notes module, initially visible everywhere in Module Visibility with the default "not hidden" state in Organize modules. When subscriber ABC signs up, they see Service Notes in their Organize modules list and decide to hide it.
Case 1: Developer hiding overrides subscriber preference. You remove Service Notes from all Module Visibility locations and publish a new version. When subscriber ABC upgrades, Service Notes is completely hidden in their organization, overriding their previous choice to keep it available in Organize modules.
Case 2: Subscriber hiding overrides developer visibility. You keep Service Notes visible everywhere in Module Visibility and publish a new version. When subscriber ABC upgrades, Service Notes remains hidden in their organization. Their earlier choice to hide it persists, regardless of your Module Visibility changes.
Troubleshooting upgrade failure with global set and visibility dependencies
Use this checklist when an application upgrade fails with dependency errors related to Global Set options and missing module visibility.
- Identify fields, layouts, workflows, and other components that still reference the Global Set values planned for removal.
- Remove or replace dependent references before publishing the upgrade package.
- Verify the related module is enabled in Module Visibility for required locations.
- Confirm the same module is included in the target pricing plan so subscriber organizations can receive it.
- Publish the corrected version, then upgrade a test subscriber org before production rollout.
Expected behavior:
- Upgrade completes when Global Set dependencies are resolved before option removal.
- Modules excluded from visibility or pricing can block expected post-upgrade component behavior.
- Dependency checks in a test subscriber org reduce upgrade risk for production subscribers.