SFDO-Community / declarative-lookup-rollup-summaries

Declarative Lookup Rollup Summaries (DLRS) is a community built and maintained Salesforce application that allows you to create cross object roll-ups declaratively - no code! For install instructions and documentation, visit our website https://sfdo-community-sprints.github.io/DLRS-Documentation/
https://sfdo-community-sprints.github.io/DLRS-Documentation/
BSD 3-Clause "New" or "Revised" License
689 stars 237 forks source link

Beta Releases indicate a Production install URL but Beta packages are not compatible with Production Orgs #1486

Open danny-yehya opened 2 months ago

danny-yehya commented 2 months ago

Describe the bug Using the Install URL attempting to install the automated beta release of 2.22 (Beta 1) fails because the package with Id 04t5p0000013oebAAA cannot be found.

To Reproduce Steps to reproduce the behavior:

  1. Go to https://github.com/SFDO-Community/declarative-lookup-rollup-summaries/releases
  2. Click on https://login.salesforce.com/packaging/installPackage.apexp?p0=04t5p0000013oebAAA under 2.22 (beta 1) Installation Info for Production & Developer Edition Orgs.
  3. Login to org
  4. See error:

This app can't be upgraded. There are problems that prevent this package from being installed. Package Not Found The requested package doesn't yet exist or has been deleted. If this is a recently created package version, please try again in a few minutes or contact the package publisher.

Expected behavior The app is available to be upgraded.

Screenshots image

Additional context None

aheber commented 2 months ago

@danny-yehya Salesforce limits Beta package releases to non-prod environments, additionally Beta packages are also non-upgradable by design because the feature set isn't locked so Salesforce can't guarantee that subsequent versions are compatible. (For example, if I made an Apex class global in a beta, it doesn't have to be global in the next beta or final release, if you change code to depend on that global you wouldn't be able to upgrade. So Salesforce plays it safe and just says non-upgradable, even if DLRS doesn't actually break compatibility)

This is a normal behavior of packages in this state.

If you would like the latest released version that can be upgraded then you should use the v2.21 released version which is tagged latest, not the pre-release version that is used for evaluating builds as release candidates, not for general use.

danny-yehya commented 2 months ago

@aheber Thanks for the clarification. I would request that Beta or pre-release builds have the "Production &" removed from the URLs in the releases since it is not possible to install in a prod org. As far as the non-upgradability. I understand the breaking implications but it sounds like you would not be able to test it in a sandbox and then upgrade the version in the sandbox without refreshing the sandbox and upgrading to prod or removing the package and reinstalling if I am understanding you correctly but that is out of the scope of this ticket.

aheber commented 2 months ago

That is a great point. That message text is maintained by another team and I can request they make that change. It should probably use the test.salesforce.com domain and not use the words Production

You are exactly correct, if you install it in a Sandbox environment or Developer Edition then you would either have to refresh that environment or uninstall first to be able to install any other version of the app.

danny-yehya commented 2 months ago

@aheber There is a test.salesforce URL already for sandboxes but for developer orgs, installation is supported which is why I requested the change to the wording and not the URL itself but I defer to you all as far as the best way to do it! Thanks for your help and time!

aheber commented 2 months ago

Thanks, yes I understand.

I can't promise this will get changed, it is a deep decision in the tool that is used to manage this project and many others. I'll see if that team provides any options, or if there is a reasonable change that can be made to allow it.

I'm going to change this issue Title a bit to focus it on that point so we can keep track of this request more easily.

aheber commented 2 months ago

My initial request to the CCI Trailblazer Group: https://trailhead.salesforce.com/trailblazer-community/feed/0D54V00007cmLiGSAU