Introducing app distribution

Hello everyone,

Late last year we announced the release of the developer console, the one-stop shop for our developer community to manage their Forge apps. Today we are expanding on the capabilities by introducing a lightweight way to share your Forge app with users for testing and internal usage. While we’re working to get Forge apps on Marketplace, you can start distributing your apps right now!

We want developers to have complete control over when and how they share their apps. Which is why, as part of this release, we’ve changed the distribution status of all existing apps, and newly created apps, to ‘Not sharing’.

What does this mean?

To share their Forge apps, developers will need to enable sharing in the developer console.

For existing Forge apps: until now, both app developers and users were able to grant OAuth 2.0 consent. Following this change, users won’t be able to grant consent until the developer changes the distribution status to ‘Sharing’.

We want your feedback

As always, we are super interested in any feedback you can share on what has been built so far, so feel free to share your thoughts in the comments or DM me.

Thanks!

Angelina

13 Likes

Hi @AngelinaIgnatova,

Great news, thanks!

Can you clarify some details on cross-product apps:

The app distribution allows to mark a single app as cross-product, resulting in one install for both Jira and Confluence - which is great :slight_smile:

However, as for the pending Marketplace integration, we got the impression that that will not support cross-product apps due to separate constraints there!

  1. Is that still true/to be expected, i.e. will we have to split our cross-product app offerings for marketplace integration later on?

  2. If that is the case, can you expand on the technical implications of such a split? (E.g. will we have to provide separate app manifests to ensure that they only declare modules/scopes for the respective target product?)

2 Likes

Great news! Unfortunately we can not distribute our app :frowning:

No matter what values we type into “Company” and “Support contact” we get an internal server error. Affected app: 66b1fd9b-1ae2-4a4f-8bd8-a1ccb1ba82ad

image

7 Likes

Hi @AngelinaIgnatova,

Apart from distribution not working for us at all (see earlier JulianWolf post - I still get the same errors), and thus not being able to test this, I have some more feedback based on the announcement and docs:

This, along with the docs, point to sharing only being possible for production deployments. While better than no sharing at all, this contradicts the “share your Forge app with users for testing” aspect of the whole feature - if we want to test new features of an already deployed and distributed app, we’d need to be able to share at least a staging deployment as well, in order to not impact users of the production version.

@JulianWolf, thank you for bringing this to our attention. The team is working on a fix as we speak, aiming to push it by COB today.

3 Likes

Hi @hopel, this is a fair point and I am grateful that you have shared it. We are assessing potential solutions to this problem, however we can’t commit to a timeframe at this time. Will keep you updated.

Cheers,

Angelina

2 Likes

Hi @hopel, on the topic of testing a new version of an already distributed app, I am curious to understand (if we assume that you are able to share a staging deployment of an app), do you see a need to share that version with customers who already have the original version installed on their site?

Thank you!

Angelina

Hi @AngelinaIgnatova,

Good question - probably not that much, as it would be rather irritating if a customer would need to run two versions in parallel on the same site (though depends a bit on app use case and resulting exposure, I guess).

I’d expect the ‘standard’ scenario to be testing on a separate, dedicated test instance, assuming the customer has one.

In other words, we do not have a clear expectation on this specific aspect, as long as we are able to offer a separate version for testing that is independent of the current production version (and does not require creation&deployment of a completely new app).