7

The sfdx-package.json allows specification of the postInstallUrl, documented as:

None. A URL to post-install instructions for subscribers.

First generation managed packages support a post installation page, a visualforce page, that is accessible during the install (if the package is small enough) or from the package detail view once installation is complete:

Post Install Instructions Visualforce Page

This page can actually include more than just instructions, but can include automation that isn't achievable within the post install script (e.g. invoking Tooling API).

Do you know whether it is possible to set the URL for a 2GP to be a page in the package, on the org to which the installation has just been applied? (I'm wondering if a host-relative URL can be validly defined in the sfdx-project.json and before I try I thought I'd ask.)

NB: This difference isn't mentioned in the gap document.

1
  • 1
    I think the answer is "yes", but I'm not sure where the documentation is on this.
    – sfdcfox
    Commented Dec 10, 2020 at 15:30

1 Answer 1

6

I raised this on the Partner Forums too. I got the following from two of the guys at Salesforce. Firstly Dileep Burki:

The postInstallURL supports the specification of a URL to which the installer is taken to, upon the completion of the installation process. Unlike 1GP, in 2GP, we only support the URL and NOT the VF page. This is something that fell below the line when we scoped the effort.

We did not invest effort in "Configure Custom Link" as we felt postInstallURL suffices and we had other competing features that we wanted to invest in.

Then from Vivek Chawla:

As for your question about relative URLs, here's what I've learned from the engineers and from doing my own tests.

Both the "postInstallUrl" and its cousin "releaseNotesUrl" are validated by the CLI during package:version:create. Only fully-qualified URLs, like "http://www.yourdomain.com/your-release-notes.htm", are allowed.

Functionally, since relative URLs are not allowed, it is not possible to use the "postInstallUrl" or the "releaseNotesUrl" to point back to a page inside of the subscriber's org.

This definitely removes, or at least modifies, the post-install configuration pattern as compared to 1GP. Partners still can, and in many cases, should create post-install configuration pages as part of their solution. The problem is that getting to those pages won't be as straightforward for the customer with 2GP.

I need to chew on this for a bit, but as someone who has actively clicked on the "configure" link more than once during my previous life as a Salesforce/AppExchange customer, I'm leaning towards this feature not being part of 2GP as being a real gap.

So in summary this is a gap between 1GP and 2GP and it isn't possible to have a post install URL that points to a page in the just-installed package at this point (currently Winter '21).

3
  • 1
    Thanks Phil, even if it's bad news, I have been looking for a way to do it for hours, at least I can stop searching. Commented Mar 9, 2021 at 4:52
  • 1
    Just hit this same issue. My solution was to create a custom tab for a lightning web component and then link to that from the App's home page. I think that's OK as long as the installation documentation makes it clear. Commented Apr 11, 2022 at 16:40
  • Have not tried this but what if the page at the URL specified for the "postInstallUrl" got the referring URL then composed a redirect to a VisualForce page using the referrer's domain? Commented Dec 26, 2023 at 19:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .