Version Check Between Core & Apps for Compability

I personally find the following feature to be very crucial for Nextcloud in terms of long-term usability: Apps should only be upgradeable if they are supported by the core version installed.

If one is using Nextcloud 8.2 but the newest version of an app requires Nextcloud 9+, the button “Update This App” shouldn’t be displayed under the Apps Menu.

As far as I’m aware, such a compatibility check didn’t exist in ownCloud.

2 Likes

This is a neat idea. I come from Puppet, which has this kind of versioning. I’ll field it to the devs once we’re a bit further along.

It already works that way. Apps are fetched from the app store and screened based on your core version number

2 Likes

That’s not true. This screenshot is of the App Menu in ownCloud 8.2.5:

When I install ownCloud 8.2.5 and download the News App 7.1.2 (the last version that is supported for ownCloud 8.2) from GitHub, I should be able to use it without being prompted to update to a version that is not supported.

UPDATE:
I guess I’m not really talking about the App Store (apps.owncloud.com) here.

UPDATE 2:
I tried updating just to see what will happen. I did get the message: “App can’t be installed because it is not compatible with this version of ownCloud” which is indeed how it should work.

I guess what I’m getting at is a proper support also for apps that were provided in previous versions of Nextcloud. For instance, why does one need to go to the GitHub Release Page to find a compatible version of the News App when the core is superseded by a newer version (say Nextcloud 9.0)? In other words, the News App no longer shows up in the App Menu within Nextcloud.

Try on ownCloud 9.0. You shouldn’t have the problem any more.

That’s precisely my point. One shouldn’t be forced to upgrade as developers wish them to. ownCloud 8.2 is technically still supported.
What if ownCloud 9.0 has bugs that that are unresolved and may potentially break the whole infrastructure? One is caught in a dilemma between 1. giving up certain apps and 2. risking the stability of one’s own system.

Version checking has been fixed, but nobody can force developers to publish all their versions in the app store. Gallery+ has versions for older releases, but News doesn’t.
Sometimes devs remove the older versions because they don’t work or contain security problems.

You can’t force it, but again I believe it’s important to make it clear for the app developers why it’s important and how it must be done. The app-code checkers is an important role in this.

Also a lot of apps are tested on Travis, but it isn’t that easy for testing your app on all ownCloud versions. (It’s possible however, I have done it here: https://github.com/owncloud/jsxc.chat/blob/master/.travis.yml#L32. Which needs some scripts: https://github.com/owncloud/jsxc.chat/tree/master/tests/travis .

UPDATE: maybe an important role of Travis is to run the appcode checker? Which than can indicates if an app is compatible? This way if a app doesn’t have 100% coverage, the developer is sure he doesn’t use removed/deprecated functions.

That’s true. But letting users install or upgrade to a version that is not compatible with their system is a no go. Then don’t ship and don’t update it at all.