Will "enableLicensing"=true in connect.json cause problems for app versions without licensing?

Hello
I have two versions of app in the marketplace that are free. So in the descriptor there is:

"enableLicensing": false

Now I want to release next version that will be payable. Can I just change the enable licensing to true or new/different atlassian-connect.js file needs to be created?

I would prefer to have only one atlassian-connect file and the backend logic handles licensed and unlicensed (the current ones) versions of app. But I’m not sure if there aren’t some hidden/unexpected problems that might occur.

You can just update the property. However, this will require all of the admins of the installations to accept the new descriptor. Until they do, they will continue to have the free version installed.

If I recall correctly, this will require a round of Atlassian Marketplace app approval.

1 Like

Ok, this sounds reasonable.
So when I update the property, Marketplace will automatically create a new app version because of important change in atlassian-connect file.

Will that new version be private or atomatically public?

I think it’s private, but I’m not sure.
And if it’s private, then before I make it public or before all Marketplace approval is done, the app that people see in marketplace is still the free one.
Yet, there is no more atlassian-connect file with “enableLicensing”: false, on the server. Is this ok?

I would like to remind this question again as it becomes important for me.
I was hoping it’s not dificult for someone who did it already or created/maintain the system. Maybe someone from #marketplace or any Atlassian member could jump in?

The new version will be marked as private. As Daniel mentioned, you will have to re-submit your app for approval by the Atlassian Marketplace team.

The new private version will not cause any issue with your customers, as Atlassian creates copies of descriptors and puts them on Atlassian Marketplace CDN. Any existing customers and/or new customers will get the old, published descriptor from Atlassian Marketplace CDN when they install the app.

However, this does mean that the descriptor has become stale, as any changes to the descriptor will be attributed to the new & unpublished private version. This means that changes to the app descriptor will not be pushed to customers until you have got that new paid version approved.

As Daniel mentioned, Jira administrators will also have to accept these changes to the descriptor, moving from free to paid. They can choose not to do so and remain on the old descriptor of the free version served from Atlassian Marketplace CDN. That also means that you should continue to serve any endpoint specified in the old descriptor (for instance, a webItem with relative url to /some/page will need to remain available). This is why it is recommended to add versioning to paths to ensure that you can keep the old version available for those that have/will not update. Another option is to switch base URL for your paid app and keep the old free app running on the old domain.

2 Likes

Thank you very much.
This explains a lot, now I have an idea how to proceed.